2.4.7 --> 2.4.9:
----------------

Bug fixes:

- Integer array attributes caused a TypeError with recent versions of
  Numeric (that don't do silent casts from Long to Int any more).

Additions:

- Method "threeAngles" in Geometry.Transformation.Rotation.

2.4.6 --> 2.4.7:
----------------

Bug fixes:

- Scientific.BSP: alltrue() and anytrue() sometimes returned wrong results.

Additions:

- Scientific.Visualization.VMD can now correctly launch VMD under Windows


2.4.3 --> 2.4.4:
----------------

Bug fixes:

NetCDF error messages should now be correct. No more "unknown errors"!

2.4 --> 2.4.1:
--------------

Bug fixes:

- Scientific.MPI did not contain the _C_API object needed by C extension
  modules that call MPI.
- The arguments to the receiveString method are now optional, as documented.

2.3.3 --> 2.4:
--------------

Bug fixes:

- Memory function calculation in Scientific.Signals.Models
  returned a wrong value for the first point.
- Some indexing problems in Scientific.IO.NetCDF were fixed;
  none of them caused wrong results, just unjustified exceptions.

2.3.2 --> 2.3.3:
----------------

Bug fixes:

- The method divide() assumed the wrong coefficient order.

New features:

- Module Scientific.Signals.Models
- Class Scientific.Statistics.Histogram.WeightedHistogram


2.3.1 --> 2.3.2:
----------------

Incompatible changes:

- Specification of routines in Scientific.BSP changed.


2.2 --> 2.3.1
-------------

New features:

- New modules Scientific.BSP and Scientific.BSP.IO

2.1.5 --> 2.2
-------------

Bug fixes:

- The sign convention for rotation angles was not correctly applied
  in Scientific.Geometry.Transformation and Scientific.Geometry.Quaternions.
  Everything was consistent, but with the wrong sign.

Improvements:

- Scientific.IO.PDB can handle a larger range of variant formats for DNA

New features:

- New module Scientific.Visualization.VPython.

- Scientific.IO.TextFile also handles bzip2 compressed files
  (extension .bz2). This only works if bzip2 is installed.


2.1.4 --> 2.1.5
---------------

New features:

- Scientific.TkWidgets.TkPlotCanvas:
  - Popup menu on right button
  - Value display on middle button
  - HorizontalLine, VerticalLine objects

Modifications:

- MPI interface no longer assumes that MPI_Op and MPI_Datatype are
  integers (they aren't in LAM, for example).


2.1.3 --> 2.1.4
---------------

New features:

- New MPI functions implemented by Jakob Schiotz:
  - nonblocking send and receive
  - abort
  - reduce and allreduce

Modifications:

- The Python interpreter lock is released during calls to the netCDF
  library, permitting other threads to continue during I/O operations.
  An internal lock has been added to prevent reentrant calls to the
  netCDF library, which is not thread safe.
  (If you don't understand any of this, you shouldn't care, it has
  no consequences unless you use threads.)
- Methods receive and receiveString on MPI communicator objects
  can be called without source and tag arguments (defaults to None).


Bug fixes:

- The compilation script did not work correctly for MPI support


2.1.2 --> 2.1.3
---------------

New features:

- Some small utility widgets have been added to Scientific.TkWidgets.
  They are not particularly "scientific", but not worth the effort
  of a separate distribution.

Bug fixes:

- The abs() function didn't work on DerivVar objects (modules
  Scientific.Functions.Derivatives and Scientific.Functions.FirstDerivatives)
  with negative values.

- The method projectionOf in Scientific.Geometry.Objects3D.Plane was
  wrong.


2.1.1 --> 2.1.2
---------------

Installation:

- The mpipython executable is compiled using 'mpicc', which should simplify
  installation significantly because all library specifications are
  automatically taken into account. In other words, MPI support should
  work on all platforms without any modifications to the Setup file.
  (Thanks to Jakob Schiotz for this suggestion!)

- Some 'extern' declarations were changed to 'staticforward' to please
  some compilers.

Documentation:

- the documentation for the methods receive and receiveString were
  wrong.


2.1.0 --> 2.1.1
---------------

Bug fixes:

- The upper bound for MPI message tags was not treated correctly,
  leading to a bound of zero on some platforms.

Modifications:

- The methods sendArray and sendString were combined into a single
  method send.

- broadcastArray was renamed to broadcast, shareArray was renamed to share,
  receiveArray was renamed to receive. The only function that retains
  a data type indication is receiveString.


2.0.1 --> 2.1.0
---------------

Additions:

- MPI interface in Scientific.MPI


2.0 --> 2.0.1
-------------

Bug fixes:

- The method integral() in class
  Scientific.Functions.Interpolation.InterpolatingFunction
  didn't work.

- Integer attributes were handled incorrectly on machines with
  64 bit long types (DEC Alpha, 64-bit SGI machines)

- Syntax errors in Scientific.Visualization.VRML2 fixed.

- Memory leaks fixed.


Additions:

- Scientific.Functions.Interpolation.InterpolatingFunction
  instances support most array indexing operations (all except
  NewAxis, which makes no sense)

- New class Scientific.Functions.Interpolation.NetCDFInterpolatingFunction
  represents a function defined by a variable stored in a netCDF file.

- Append mode in Scientific.IO.TextFile.TextFile
