RELEASE_2.16e
-------------
* Fixed bug whereby scaling and thermostat adjusted temperature to old
  (release 2.15) values and was not updateed in terms of 3N-3
  translational degrees of freedom.

* Added two new output formats to "mdshak" and "mdavpos", Insight XTL
  and Biosym ARC.

* Changed arguments of mdshak and mdavpos to use "-f out-type" instead
  of separate flags.  Allowed types are shak, pdb, xyz, dcd, cssr, arc,
  xtl, bin.

*  Functionality changes in ransub.

RELEASE_2.16d
-------------
* Fixed bug in Ewald sum on parallel machines which could cause crash.

* Fixed bug in force.c which crashed on constant-pressure run.

* Fixed memory allocation so mdshak works on Cray T3E

* Retrofitted molecular cutoff capability, selected by control parameter
  "molecular-cutoff".  Updated some of the example files.

RELEASE_2.16
------------
* New version of real-space force calculation.  More elegant and more efficient.

* New 1-D integer addition scheme for encoding and handling relative
  neighbour lists.  Site-neighbour list is 2-3 times as fast as
  before.

* Implemented a scheme derived from that of H. Bekker to take the calculation
  of the virial out of the innermost loops in force.c.  Should give a noticeable
  speedup.

* Using the Bekker scheme, molecular sites are assigned to the
  link-cell according to their co-ordinates instead of the molecular
  centre of mass.  This allows a reduced size of neighbour cell list
  (ie extended cutoff) for molecular systems, since sites can not be
  closer than the cell-cell distance.  In lazy mode this will allow a
  reduced cutoff for the same accuracy, In strict mode, it is no longer
  necessary to add twice the molecular radius to the cutoff internally, so
  its very much quicker.

  This scheme unavoidably includes intramolecular interactions in the
  potential energy and forces.  Therefore we pre-compute the
  intramolecular terms and subtract them.  These terms cancel out in
  the calculation of centre-of-mass forces and torques and the Virial
  (the reciprocal-space part of the Ewald sum has always relied on
  this cancellation).

* Fixed bug in "constant-pressure" (not stress) ensemble, -- effective
  mass W was 3 times too small.

* Added Clevland/Wentzcovitch improved constant-stress  and 
  true Andersen constant-pressure dynamics.

* Two new potential types.
  1) "morse".  Really the Busing-Ida-Gilbert plus Morse-potential as
     used in the japanese MD code Mdxorto.
  2) "hiw"     The 4/6/12 potential form as used in the "hydrated-ion-water"
     potential of J.M.Martinez et al J.Chem.Phys. 110,1669 1999

* Corrected number of degrees of freedom - was 3N, should be 3N-3
  due to conservation of linear momentum.  This will give a 1/N
  difference in the calculated temperatures - < 1% in almost every case.

* Initial banner is more selective and does not print velocity scaling
  unless velocities really will be scaled in this run.  Same applies
  to RDF computation.

* Plotrdf script revised and improved.  Command options rationalised. 
  Can now write scripts for "xmgrace" as well as "gnuplot".

* Manual updated.

RELEASE 2.15e
-------------
 * 2.15d introduced a major bug in the dump-file headers
   simply because the longer cvs branch revision string
   plus extras overflowed the 16 char "vsn" header field.
   2.15e fixes this.

RELEASE 2.15d2
-------------
 * Fixed problem in RDF output routine which generated either
 * NaN or divide-by-zero if set of site-id's not contiguous

RELEASE 2.15d
-------------
 * Added support for Portland group C compiler on Linux x86
 * Workaround for Portland group C compiler 3.1-3 bug.   

 * Fixed RNG to be synchronous on multiprocessor -- needed for
 * scale-options=8 in parallel

 * Banner page now prints correct version number (2.15,b and c
 * printed 2.14)


RELEASE 2.15c
-------------
 * Fixed bug in stress calculation for polyatomic molecules.
   Was using old set of co-ordinates.  

RELEASE 2.15b
-------------
 * Added warning if surface-dipole turned on for ionic systems.

 * Extended initial banner printout to give details of all setting.

 * Much improved plotrdf script

 * Bugfixes to Ransub

 * Bugfixes to xdr.c over save/restore of const_pressure != 1 and scale_options != 1

RELEASE 2.15
------------
 * text-mode save now converts potentials and control back to input units. 
   By changing the *-unit parameters in the control file you could use 
   this to do parameter conversion.  

 * New constant-pressure (NPT(E) not N sigma T(E)) ensemble added.

 * Configure updated to autoconf 2.13.  Better choice of libraries,
   compiler options etc.  Cygwin compilation now fully supported.

 * Bug fixes to bdist.c, mdbond.

 * Common support routines for all utilities extracted to separate
   files.  Both Msd And mdshak now support all 5 output formats.

 * New utility "mdvaf" added.  Calculates (linear) velocity
   autocorrelation function.
 
 * Comments documenting new potential addition in kernel.c clarified.

 * RDF calculation made robust against rdf-interval, rdf-out
   rdf-limit or nbins changed during data collection.

 * New sanity checks on values of many control-file variables.
   WARNING: these only detect some of the most obvious bad values
   and most subtle error will still go unremarked.

 * Extensive changes to the manual including better documentation of
   build and configure procedure, clarifications of several confused
   points including adding a new potential parameter, handling of
   units in input files.  Sections for mdbond, bdist, mdvaf added.

 * plotrdf script considerably enhanced.
   1. Now handles more than one RDF dump in file correctly.  Subsequent 
      dumps are output sequentially, or are averaged if "-a" flag given.
   2. New flag "-m <RE>" selects subset of columns to print,
      <RE> is any PERL regular expression (eg "Mg-O")

RELEASE 2.14
------------
 * Fix for missing error messages when MPI parallel run aborts.

 * Fixed compile problem with auxil.c on non-unix systems. (Cygnus)
 
 * Several bug fixes in utilities, msd etc.

 * New CSSR output option in mdavpos.c and PDB for mdshak.c.

 * New programs

  mdbond: for calculating interparticle distances and angles within user
           specified cutoffs. Output is in an identical format to that
	   of the "bond" utility provided with the Shell lattice
           dynamics code of Neil Allan and Gus Barrera of Bristol University.

  bdist:   reads the output from mdbond and sorts it into a format
           suitable for plotting bond and angle distribution curves.

  ransub:  for introducing randomly distributed solute particles/molecules
           into a crystalline lattice system.

  plotrdf: A perl script which extracts RDFs from the output file and
           writes a script of gnuplot commands to plot
           them. Alternatively it will output the data in columnar format.
 
 
Release 2.13
------------

* Various optimizations to ewald sum and force calculation

* Tuning for Cray T3E and SGI Origin 2000 platforms.

* Now uses GNU autoconf.

Release 2.12f
-------------
* Bugfixes and portability enhancements to utilities, msd, mdavpos, mdtraj.

Release 2.12c
-------------

* Bugfix to mdshak, which had a BAD memory leak.  Should run much faster
  now and not run out of memory.

* A writer for CHARMM/X-Plor DCD trajectory files added to mdshak.  This
  allows easy import of trajectories into other visualization programs,
  notable the excellent VMD (see http://www.ks.uiuc.edu/Research/vmd/)
  Use "mdshak -v" or link the executable to and invoke as "mddcd" or
  "mdvmd" to use.

* A few bugfixes to mdavpos and msd.

* Minor  corrections to the manual.

Release 2.12
------------

* New utilities msd and mdavpos.  Many thanks to Dr Craig Fisher for
  doing the work and adding these worthwhile utilities. 

  "msd" computes mean-square displacements from dump files, eg for
        calculation of diffusion constants.  It can also output
        "joined-up" trajectories for molecules to eliminate the
        discontinuities caused by the periodic boundary conditions.

  "mdavpos" computes the average co-ordinates of a molecule throughout
            the run.
    
* Minor bug fixes:

  - mdshak had an initialisation problem which meant it couldn't read
           certain restart files.
 
  - makefile updated to work with GNU make (Linux users should be happy!)


Release 2.11
------------

* The manual is finished!  There is a new chapter on the organization and
  internals plus other minor rewrites and clarifications.  All the
  LaTeX sources are supplied. You need a modern LaTeX2e installation
  to format and print it.  A preformatted postscript version is also
  available but not included in the distribution file.

* Tuning and optimization for various architectures.  
  - Tuned ewald sum to avoid cache conflicts. Gains of 10-20%
    on T3D, Sun, DEC, 400% on IBM RS6000 for systems with
    powers-of-2 numbers of sites.
  - Tuned compiler options. Gain of 80% on SGI R8000 and
    Sun SPARC under Solaris 2.
  - Tuned kernel.c to improve pipelining on DEC Alpha.

* Rewrote parts of link-cell short-ranged force in force.c
  - eliminated huge tables of PBC relocation vectors.
    got rid of NSH macro and arbitrary limit to cutoff and
    RDF limit.  These are unlimited now.  The code is more
    transparent and easier to understand too.   It's also
    a little bit faster.

* Fixed bug in restart file format in 2.10 which meant that
  thermostat parameters were not stored retrievably.  2.11 can read
  2.10 XDR restart files, though you have to reset the thermostat
  mass parameters and turn thermostatting back on by hand in the
  control file.  For non XDR files there's nothing that can be done.

* Fixed initialisation problem which caused FP error on Cray T3D (non-ieee)

* Corrected error in implementation of integration of thermostat
  equations of motion. This seems to make no practical diff at all.

* Included workaround for bug in Cray T3D compiler version 4.0.5 which
  caused crash.

* Added test for divergent trajectories when running in parallel.

* New back-end to "mdshak" program writes "XYZ" format files that
  can be read by RasMol, XMol, etc.  If mdshak is renamed to
  "mdxyz" this is invoked automatically.

Release 2.10
------------
* Added Nose-Hoover and Hoover (Gaussian) thermostats. (V. Murachov)

* Fixed bug in calculation of long-range-correction to pressure.

* Fixed bug whereby large rc used with strict-cutoff overran tables
  and caused crash.  Simply tighten up test to abort gracefully.

* Fixed bug in reciprocal-space sum where v. small k_cutoff caused
  crash.

* Fixed bug in input parser whereby faulty control file with
  missing "=" would apparently succeed but in fact return junk.

* Many updates an improvements to manual.

* Manual now requires LaTeX2e to process the source.

* IMPORTANT: Updated fundamental constants to more accurate values
  from CODATA 1986.  This will produce changes of order 1e-5 in
  some results.  If you want to continue using the old values
  compile with -DOLDCONSTS.

* RDF calculation parallelised. Now uses pair distances from link-cell
  force calculation, and is therefore limited only by "rdf-limit".

* Fixed problem whereby rescaling species separately led to net
  velocities of whole system.

* Added SHMEM library interface for Cray T3D.

Release 2.9
-----------
* Ewald sum parameter and cutoffs now automatically chosen from
  Fincham's formulae if no value specified in control file.

* Various minor bugs fixed.

NOTE 2.8c  24/11/94: The init code for the TCGMSG version of par_begin
got the arguments wrong. Now fixed.  Also fixed problem with dump
sequence continuity.

NOTE 2.8b 14/9/94:  The definition of bspstart in the bsp lib CHANGED
to include argc and argv as params.  New version of parallel.c incorporates
modified arg list.

Release 2.8
-----------
* Port to distributed-memory MIMD parallel machines.

  - This port is based on a message-passing paradigm, and contains
    interfaces to three different message-passing systems - the
    Oxford BSP library, MPI (the new standardised message-passing
    library interface) and TCGMSG (the Theoretical Chamistry
    message-passing system).  The parallel interface is contained
    within a single file "parallel.c" and versions for other MP
    libraries should be relatively easy to add.

  - To use, define the macro PARLIBC in the Makefile
    to contain the "include" path, -DSPMD and one of -DMPI, -DBSP
    and -DTCGMSG.  The macro PARLIBL should be defined to link
    with the appropriate libraries.

* Performance optimizations for IBM RS6000.  The 4-way associative
  cache on the high-end machines in the IBM RS6000 line leads to
  a severe inefficiency when the number of sites is a power of 2.
  This version declares the arrays larger than the system size to 
  avoid the problem.

Release 2.7
-----------
* Added casts for size_mt in arralloc() calls - for K&R/ANSI compat.

* New version of array allocator which breaks up requests for DOS.

* Changed all timestep-related parameters to type "long". This means
  that 16-bit DOS compilers can do more than 32767 timesteps.

  NOTE: This changes the size of "native" format dump and restart
        files on a machine where sizeof(long) > sizeof(int), in
        particular DEC Alpha machines and possibly SGI R4000 based
	ones.  Version 2.7 will not be able to read these "native"
	format files written by earlier versions, though the recommended
	XDR format will work.  Versions 2.6 of "dumpconv -x" should be  
	used to convert dump files to XDR format and moldy itself to
	convert restart files.

* Utilities renamed for systems with short filenames.
  dumpextract  ==> dumpext
  dumpconvert  ==> dumpconv
  dumpanalyze  ==> dumpanal
  moldyextract ==> moldyext
  moldyanalyze ==> manalyze

* Strengthened error checking in "mdshak" which previously just gave
  ridiculous answers if you specified wrong arguments.  It now calls
  "dumpext" via a pipe if it needs to read dump files.

* Arguments of "dumpext" simplified.  You can now specify the dump
  files as EITHER the complete set in any order (eg by unix shell
  wildcard expansion OR as a proforma exactly as in the control file.
  "dumpext" just tries plugging in numbers with "sprintf" to locate
  files. This eliminates the need for the "-n" option.  (However if
  you start your run with an index > 500 it will not find them.)

Release 2.6
-----------
* Port to PCs running MS-DOS
 
* Significant internal restructuring.  
  This consists of eliminating global data and improving data locality
  throughout the code.  No external impact, but a gain in code quality
  which should make improvements and porting, esp to parallel machines
  much easier.

* Yet more portability improvements

* Bugs corrected

- Fixed serious bug whereby linear molecules weren't recognised.
  Caused failure on RS6000 and possibly others, but not Sun or DEC
  Alpha.


Release 2.5
-----------
This is to announce the release of version 2.5 of Moldy.  This is mainly 
a bugfix and portability release with no major changes in functionality.
It incorporates all the experience gained from the "beta-test" releases of
2.2 and 2.3.

Major points are:

* Greatly improved portability.  Tested on Sun, SGI, HP, DEC, Convex
  IBM and Cray systems and should compile without problems on many more.

* VMS support consolidated.  Now compiles on VAX/VMS and OpenVMS/AXP
  systems without problems.  Distribution comes in form of "moldy.com"
  script for ftping and contains "compile.com" to compile everything.

* Better and more comprehensive install notes in READ.ME file.

* Bugs corrected/mods since 2.2.

- "Divide-by-zero" error on velocity rescale of atomic systems fixed.

- Relaxed "dump"s checks to allow dump run to continue after backup 
  restart without changing dump file names.

- Minor optimization in real-space force calculation.  A few percent faster.

- Added distant-correction for "generic" potential type GENPOT

- XDR mode for dump/restart files is now active by default.

- Various minor portability bugs in utility programs corrected.


