<b>v0.32b</b><br>
27 August, 1999
<menu>
<li>Autogenerated HTML pages has been introduced with the use of the 
	  generate_html.pl script.
<li>Using perl modules (*.pm) instead of straight perl subroutines (*.pl)
	  this means that YARm scripts begin with "use libYarm;" now, instead
	  of "require XXXX".  This will make variable scoping a little more sane.
</menu>

<b>v0.31</b><br>
27 August, 1999
<menu>
<li>The ability to calculate F-test and X^2 tables has been added.  The
	  program calcStats (run without arguments to see the help page) does 
	  this.
<li>Introduction of data fitting routines.  See the "fitFunction" and 
	  "fitMultiFunction" routines.  Both use the "odrpack" library, and
	  thus require it is installed. 
<li>name changes to many of the YARM subroutines to be consistent.  The
	  rule is "verbNoun", thus, for example, the subroutine "Angle_Calc" 
	  was changed to "calcAngle".  Hopefully, this will be the last major
	  subroutine name change.
<li>Extensive rewriting of the manual, removed the frames.
</menu>

<hr><b>v0.30</b><br>
12 August, 1999
<menu>
<li>The core NMR relaxation routines have been split into a seperate 
	  subdirectory from the rest of the YARM code, "src_libNRF".  They
	  now consist of a seperately compilable set of routines called the
	  "NMR Relaxation Function library" (libNRF).  This code is self
	  contained and can be compiled against by other programs.
<li>The concept of the "transition rates" being the code unit of 
	  exchange in YARM has been changed to the "spectral density function"
	  to allow more efficient space usage and theory.  This changes
	  many of the core functions and allows YARM to work with the libNRF
	  package.
<li>Intramolecular dynamics calculations can now be performed using the 
	  "SpecDens2Min_Dyn" routine, which employs Monte Carlo simulations 
	  to calculate error analysis.
<li>Rotational dynamics can be examine using the "Min_Rot_Dyn" routine,
	  which employs Monte Carlo simulations to perform error analysis.
<li>New data entry type, the "1D_Hash" file has been created to allow
	  for easy input of experimental data (and errors).  See 
	  "ReadData_1DHash" for how to use this.
</menu>

<hr><b>v0.22 -> v0.29</b><br>
June -> August, 1999
<menu>
<li>Internal code updates, changing over to the "libNRF" methods
</menu>

<hr><b>v0.21</b><br>
20 July, 1999
<menu>
<li>Bug fixes, last stable release before the major relaxation code 
     changes
</menu>

<hr><b>v0.19</b><br>
20 April, 1999
<menu>
<li>Many, many, many changes to the handling the CSA tensor.  See 
     perl/csa.pl, nearly every routine was rewritten.  The new CSA methods
     allow the CSA to be accessed directly from within a YARM script, allow
     the CSA to be easily manipulated and allow the CSA data files to be 
     much smaller.
<li>The Euler angle calculations have been redone, in a hopefully more
     useful way.  The algorithm for back calculating the Euler angles
     from a rotation matrix (calcEuler) has been reformulated.
<li>The routines for calculating contour plots has been rewritten so one
     program is used for performing R1, R2, R2/R1 calculations, see
	 TransRates2Contour.c
<li>Many changes to the Makefile, in runs much cleaner now.
<li>Many, many changes to the manual.  Most notably, the "main" page has 
     been removed, since it was completely out of date.
</menu>

<hr><b>v0.18</b><br>
26 March, 1999
<menu>
<li>Fixed a bug in calculating the sign of interference terms, the sign
     should be decided by the coupling parameter (delta), not the angular
     terms.  See "clm_interference_rank2" in clm.c, where the absolute
     value of the angular terms is used.
<li>Combined the "TransRates2R1", and "TransRates2R2" programs, now 
     called "TransRates2RelaxRates" and performs both functions.
<li>Small matrices (such as the 3x3s involving coordinate
     transforms) are diagonalized using a Jacobian Rotation algorithm
     rather than the supplied routines from lapack.  The results are
     "more accurate" for certain types of matrices, and the
     diagonalization is very fast.  See math_functions.c for the code.
</menu>

<hr><b>v0.17</b><br>
26 January, 1999
<menu>
<li>YarmModel{cutoff} value is implimented.  Determines distance above
     which to ignore any interaction (dipolar and cross).  Set to -1
     or to nothing causes all interacions, regardless of distance, to
     be included.
<li>Garcia de la Torre hydrodynamic calculations, see hydrolib.c and
     Hydro.c
<li>Source code resides in subdirectories of "src" now, implimented
     recursive Makefiles.
</menu>

<hr><b>v0.16</b><br>
13 December, 1998
<menu>
<li>Time evolution Iz magnetization can be calculated (see TransRates2Iz)
<li>Major updates to the manual.
</menu>

<hr><b>v0.15</b><br>
5 December, 1998
<menu>
<li>The fundamental data storage type from build_relax is now the
     transition rates, not the relaxation matrix rates.
	 This should allow for calculation of either T1 or T2 type 
	 relaxation without needing two separate relaxation matrix 
	 calculations.
<li>T2 relaxation works!  See TransRates2T2.
<li>A perl script to replicate Goldman's interference equations can
	be found in the "extra" directory.  YARM can calculate the same
	results, when using isotropic rotation, and axially symmetric and
	aligned CSA tensors.
<li>A new method of examining "axially aligned" CSA tensors has been
	developed.  See "data/axial_dna/*".
<li>A new variable "$NmrParams{cross_angle}" can be used to arbitrarily
	orient the principal axis of a CSA tensor WRT a dipolar vector.
	Using a value of "-1" will cause the CSA tensor to adopt the "correct"
	orientation.
<li>Major updates to the manual.
</menu>

<hr><b>v0.14</b><br>
16 November, 1998
<menu>
<li>The interference effects (cross relaxation) due to dipolar and CSA 
     relaxation are being calculated (see clm.c, calc_clm_interference 
	 and yarm_lib.c calc_cross_relax).
<li>Major updates to the manual.
</menu>

<hr><b>v0.13</b><br>
30 October, 1998
<menu>
<li>New input hashes have been created/defined.  %NmrParams now ONLY
     contains NMR parameter info and %YarmModel contains all the info
	 for defining the Model of the molecule (ie: tumbling dynamics, 
	 structure and intermolecular dynamics).  Calls to many of the
	 subroutines now want these hashes to be supplied.
<li>Orientation of CSA tensor has been added for anisotropic rotation.
     See "yarm_lib.c (calc_csa_relax)" and "hamiltonians.c 
	 (transform_csa_hamiltonian)" in the code if interested.
<li>The Gaussian log files can now be used directly by YARM to extract
     CSA information.  See the $yarm_home/data/* directories.  Say
	 goodbye to entering TONS of CSA tensor data manually (ala csa_lookup.pl
	 in v0.11 and 0.12)!
<li>Lipari-Szabo dynamics has been "re-added" in this now implimentation.
     It has been broken since v0.10.  I am not sure if it is implimented 
	 correctly for the full matrix approach.  This should be checked.
	 Dyanamics info will be input to the C programs via a "yarm_input.dynamics"
	 file.
<li>In an attempt to remove as much LAPACK dependencies as possible, the
     "lapack_inverse" and "lapack_mat_mul" functions have been rewritten into
	 the YARM code (see math_functions.c).  They also perform better, but may 
	 not be as generally applicable as their LAPACK bretheren.  Now only 
	 "lapack_eigen_symm" remains as the only LAPACK dependency...  this one
	 will be tough to replace...
<li>A minimal "test_suite" program has been written.  The idea is that this 
     program will run a few standard tests on YARM, to insure the calculations
	 are working correctly.  In this early version of the program, it can
	 calculate transition rate plots vs isotropic correlation times.	 
<li>The rij distance and beta angle calculation has been sped up considerably.

</menu>

<hr><b>v0.11 & 0.12</b><br>
30 September, 1998
<menu>
<li>All algorithms were rewritten in a form similar to Speiss (see 
     references).  This will allow for cross correlation to be implimented,
	 and for the T2 relaxation matrix to be built, although neither feature 
	 has been implimented yet.
<li>CSA tables for XTAL DNA monomers were added in "csa_lookup.pl"
<li>The diffusion tensor is used to describe molecular tumbling, its input is
     found in the "yarm_input" file
<li>Old versions of YARM are now being saved.  Why?  I don't know, but why 
     not?  The yarm_dev directories will now be named "yarm_dev-VERSION" where
	 VERSION will be the version number, such as 0.11.
<li>MANY MANY Makefile changes, such as using "find" for deleting object
     files, and automating the making of backup tarballs, etc.
<li>Manual overhauls, once again.  Much work on the CSA theory was added by
     George Coker.
</menu>
<p>


<hr><b>v0.10</b><br>
7 September, 1998
<menu>
<li>The entire source was converted from C++ to C.
<li>Chemical shift anisotropy was added to the relaxation matrix calcs
<li>New "input" file format was introduced for the C programs, allowing
for features to be turned "on or off" at will (such as using dipole and/or 
CSA in relaxation calculation)...
<li>The "coutour_t1" and "contour_noe" programs were added to speed
up the time required to calculate the often used RMS contour graphs.  See 
Create_Tc_Contour_T1 and Create_Tc_Contour_Noe subroutines.
<li>This manual was completely overhauled
</menu>
<p>
<hr><b>v0.9</b><br>
15 January, 1998
<menu>
<li>Many bug fixes, first actually stable release
</menu>
<p>
<hr><b>v0.8</b><br>
18 December, 1997
<menu>
<li>Use "Sim_Vol" for all your NOE simulations.  It handles iso and aniso 
molecular tumbling, rigid and order parameter dynamics.  I will phase out
the "Calc_Vol_Iso" and "Calc_Vol_Aniso" subs, so start converting.
<li>This manual was completely overhauled
<li>Many minor bug fixes
</menu>
<p>
<hr><b>v0.7</b><br>
21 November, 1997
<menu>
<li>Structure refinement works!!!  See Refine_Iso and Refine_Aniso for
how to use these routines.  Basically, you feed them a starting structural
model (this could even be random atomic coordinates) and your experimental
NOE data, the routine returns a %rij hash, which you can then feed to 
Xplor_Write (or Xplor_Write2) to generate an Xplor Restraint file!
<li>Add_Segids subroutine will add segids to molecules that are not 
symmetrical (Make_Symm_Molecule works for symmetrical molecules).
</menu>
<p>
<hr><b>v0.6</b><br>
07 November, 1997
<menu>
<li>The installation makefile works on SGIs using the GNU C++ compiler,
and the built in libraries "complib.sgimath" and "ftn", which means that
the SGIs do NOT need to install the LAPACK and BLAS routines in order to
use YARM!
<li>C++ routines have been rewritten.  These changes are just aesthetic in
nature and should not affect the use of YARM.
<li>Two class definitions have been added: 1) NmrParams object which calculates
and stores all NMR relaxation parameter information (transition rates, etc..)
and 2) Structure object which hold coordinates of structures, rij matrices, 
beta angle matrices, etc...
<li>Because of these new class definitions, the C++ programs have become very
simple to understand, check them out!  The "meat" of the program now resides 
in the class definitions themselves (structure.c and nmr_relax.c).
<li>Memory for matrices and arrays is dynamically allocated correctly.  See
"myalloc.h and myalloc.c".  This is a good thing.
</menu>
<p>
<hr><b>v0.5</b><br>
24 October, 1997
<menu>
<li>WARNING: Many subroutines have been rewritten, and they may take or return 
different arguments.  YARM scripts from version 0.4 and earlier may not work!
<li>Segment IDs can be used in all subroutines (XPLOR type segids)
<li>Many subroutines were rewritten to allow for optional use of reference hashes
<li>Calc_Merged_Rij_Iso, initial structure refinement subroutines have been added
<li>Print_Rij_Comparison
<li>Make_Symm_Molecule for converting Felix volume hashes into symmetric
molecules with segment IDs (ala XPLOR)
<li>Norm_Hash now supports normalizing by summing all atom pairs as well
as selected sets
<li>Stats supports Q^(1/6) calculations
<li>Xplor_Write exports Rij hashes to a XPLOR distance restraint file
<li>Dickerson dodecomer PDB files are available: A-form, B-form, NMR structure 
and the X-Ray structure
</menu>
<p>
<hr><b>v0.4</b><br>
8 October, 1997
<menu>
<li>Anisotropic rotation works!
<li>F95_Read_Merge is all you need for reading felix95 peaks/volumes files
	and merging them.
<li>User_Input does can be used to ask the user for the standard NMR parameters 
</menu>
<p>
<hr><b>v0.3</b><br>
24 September, 1997
<menu>
<li>Rewrote all the linear algebra routines in C++ (see rate2vol.c
and vol2rate.c).  They take advantage of the "LAPACK" routines available
at <a href="http://www.netlib.org/">www.netlib.org</a> which have been installed
on bass.chem.yale.edu.  If you are interested, notice how the LAPACK routines
are accessed in the C++ routines...
<li>Added the module comp_vol that allows you to do statistical analysis
between volume sets.
</menu>
<p>
<hr><b>v0.2</b><br>
18 September, 1997
<menu>
<li>Added enough new modules to allow you to calculate a volumes matrix
from a model structure.
<li>Changes the nomenclature of the subroutines to have capitalized 
first letters, to make the code more readable.
</menu>
<p>
<hr><b>v0.1</b><br>
14 September, 1997
<menu>
<li>Rewrote the program called "rate_matrix.pl" into a series of perl 
subroutines.
</menu>

