Version 0.9:
* LaTeX support in legends and titles in Easyviz. The output is reasonable
  in most formats.

* Updated movie module with a new encoder "HTML": javascript code for
  displaying PNG/JPG/GIF files as a movie in a webbrowser.

* Gnuplot postscript plots has linewidth 4 instead of 1.2 for clearer
  line in hardcopy plots.

* New commands in the scitools script:

	* replace for textual replacement (subst is the counterpart for
	  regular expression replacements)
	* pyreport for a version of pyreport that works with both
	  scitools.easyviz and matplotlib

* Added misc.function_UI function for autogenerating a user interface
  to a module such that a range of functions can be called from the
  command line with arguments also given on the command
  line. Autogeneration of help too.

* Added Recorder class for recording what happens with an
  object. Can be used to see how Easyviz actually works with the
  underlying module. In this way, it becomes apparent what Easyviz
  actually performs, and if desired, the actions can be done
  (manually) outside Easyviz.

* Rewritten the scitools simplified profiler to take advantage of new
  profiling tools in Python.

* Added a numpyutils.PiecewiseConstant class for piecewise constant
  functions.

* Added the avplotter module for making vertical plots in the terminal
  window. Handy when experimenting with very long time series that can
  be plotted vertically, line by line.

* Updated documentation.


Version 0.8:
* The syntax of Easyviz is extended to become more equal to
  Matplotlib (Pylab or basic Pyplot) such that one can switch between
  Easyviz and Matplolib just by the import statement in the top of the
  file.

  The extended syntax consists of 1) a savefig function, which
  is just a nickname for hardcopy, 2) the legend function can take a
  list of curve names, 3) new keywords loc and fancybox for the legend
  function allows steering where the legends appear in the figure and if
  a frame is written around the box with curve names.

  One can now write scripts that employ a syntax very close to Matlab
  where it is not necessary to make a specific choice between
  matplotlib.pylab or scitools.std import. (This has proved valuable
  in courses where students are familiar with Matlab, matplotlib.pylab
  or scitools.std).

* New MovingPlotWindow.py tool for viewing (very) long time series.
  The tool enables three different types of a moving window.

* A pause (time.sleep) is inserted when plotting many curves with the
  Gnuplot backend. This should fix the common problems with "thread error"
  in that backend.

* Changed default settings for hardcopies made by Gnuplot so that the
  black-and-white figures look better in professional publications.
  Lines are not thicker, dashes are longer, and fonts are bigger.
  These new settings make the Gnuplot backend a very good backend when
  creating figures for scientific papers and thesis.

* Updates for newer version of Gnuplot.

* The Matplotlib backend now employs pyplot instead of pylab, which means
  that grabbing the backend by get_backend() returns matplotlib.pyplot.
  This is more in line with the recommendation by Matplotlib developers
  to use Pyplot and not Pylab.

* Easyviz example files are updated and adjusted.

* New option: scitools rename --no-backup implies no copying of old
  file before being renamed. Useful when changing names of big files.

* FloatComparison (float_eq, float_lt, etc.): made rtol and atol static
  attributes such that all FloatComparison objects share the same tolerances.

* The Grace backend in Easyviz now requires pygrace and not only grace_np.

* Turned off the default use of LaTeX in the Matplotlib backend.

* A lot of updates in the Easyviz documentation.

* Switched to Sphinx for documentation.


Version 0.7:

* The most significant change for existing users is that Matplotlib is
  now the default plotting engine if you install SciTools manually
  via setup.py and if you have Matplotlib installed. Using Gnuplot (or
  another backend) as the default backend is achieved by the command

	python setup.py install --easyviz_backend gnuplot

  Existing users may want to still use Gnuplot as the default backend,
  especially if they have many programs with visualization of 2D
  scalar and vector fields (utilizing the surf and mesh commands).
  Easyviz does not yet support Matplotlib's recent functionality
  for elevated, colored surfaces in 3D.

  Binaries for Debian/Ubuntu still use Gnuplot as the default
  plotting engine since we face problems building SciTools with
  Matplotlib on some versions of Ubuntu.

  The particular plotting engine to be used can be controlled in
  several ways (config file, command-line option, explicit import),
  see the Easyviz tutorial.

* Numerous bugfixes have been performed. Some documentation and code
  have been cleaned up. More examples are included.

* The scitools script has a new option "rename" for renaming a bunch
  of files using regular expressions. Run scitools rename to see a
  powerful example.

* A new module FloatComparison has been made for comparing floating-point
  numbers and arrays in a unified way (replacements of ==, !=, <, etc.).
  The old unified float_eq(a, b, atol=..., rtol=...) is still there and
  the main tool for doing a == b with a tolerance.

* A new DoNothing class in misc.py is handy when you want to remove
  some actions in your code, but not change the code. See the doc string.
  A new function turn_off_plotting applies DoNothing to effectively
  make all plotting statements inactive (this is often desired during
  heavy debugging of the non-plotting parts of a program). Just write

     turn_off_plotting(globals())

  before the first plot call.

* The BoxGrid and BoxField classes for structured grids and associated
  scalar and vector fields are updated and applied more by the developers.

* The old numpytools module is no longer supported, and we recommend to
  use plain numpy or numpyutils (=numpy + some utility functions).
  There is no longer (in general) support of Numeric and numarray in SciTools.


Version 0.6:

* Numerous bugfixes have been performed.

* The all module is renamed to std, i.e.,

	from scitools.all import *

  should now read

	from scitools.std import *

  The old name "all" is still available as a synonym for std, implying
  that old programs will work. (The "all" name is misleading as only
  a small portion of scitools is actually imported.)

* Removed all the separate scripts subst.py, regression.py, etc. in the
  bin directory. Now there is only one scitools executable in bin,
  called scitools. The old scripts are recovered by giving their name
  (except the .py extension) to scitools. That is, the old subst.py,
  regression.py, ps2mpeg.py, file2interactive.py scripts are now run as

	scitools subst ...
	scitools regression ...
	scitools ps2mpeg ...
	scitools file2interactive ...

  and so forth for the other scripts. Type scitools --help to see more.
  The old script names subst.py, regression.py will be available if
  one installs the software associated with the book [1] (e.g., the
  subst.py script in that software package is just an execution of
  scitools subst).

* Added ppmtompeg as alternative to mpeg_encode in ps2mpeg.

* Renamed the save function in the matlab2 backend to save_m.

* Changed all raise statements to function calls (preparation for Py 3.0).

* Added support for more open commands in sound.play
  in order to support more Linux distributions.

* Added (preliminary) support for a text function in easyviz.

* Updated the Easyviz documentation.

* Made an available_backends function for listing the backends for Easyviz.

* Added some Matlab-style functions in numpyutils.py: orth, matrix_rank,
  null. Reworked all norm* functions.

* Merged the modules DrawFunction.py, FuncDependenceViz.py,
  FunctionSelector.py, ParameterInterface.py and CanvasCoords.py
  into TkGUI.py to store all modules with Tk and Pmw graphics in
  one place (these modules are mostly used in the book [1]).
  For backward compatibility,  __init__.py defines the old names.
  That is, from ParameterInterface import * will still work, but
  actually this means from TkGUI import *.

* Improved bar plots in Easyviz.

* The old plotdemo* files are moved to examples/old.

* Removed hgtools.py as it was too specialized for qualifying for scitools.

* Removed timer.py as this name is likely to clash with other scripts on
  a computer system.

* Removed immature subpackages odeiface and pyPDE.

* Removed the DocWriter module. It is now in the Doconce package (to be
  released - until then, send mail to hpl@simula.no to obtain that package).

* Reimplemented the misc.str2type function in a smarter way.

* New str2bool function in misc.py. Takes on, off, false, true, False, True,
  yes, no, etc. as input and turns the string to a bool. For user interfaces.

* Removed the functions guesstype (not used) and findvalue.
  scitools.misc.str2obj now solves the problem in a better way.

* Calling figure(...) in Easyviz now returns a Figure object.


[1] H. P. Langtangen: Python Scripting for Computational Science.
3rd edition, 2nd printing, Springer, 2009.
