$Id: VERSIONS,v 1.353 2006/01/15 17:42:48 geuzaine Exp $

New in 1.62: new option to draw color gradients in the background;
enhanced perspective projection mode; new "lasso" selection mode (same
as "lasso" zoom, but in selection mode); new "invert selection" button
in the visibility browser; new snapping grid when adding points in the
GUI; nicer normal smoothing; new extrude syntax (old syntax still
available, but deprecated); various small bug fixes and enhancements.

New in 1.61: added support for second order (curved) elements in
post-processor; new version (1.4) of post-processing file formats; new
stippling options for 2D plots; removed limit on allowed number of
files on command line; all "Combine" operations are now available in
the parser; changed View.ArrowLocation into View.GlyphLocation;
optimized memory usage when loading many (>1000) views; optimized
loading and drawing of line meshes and 2D iso views; optimized
handling of meshes with large number of physical entities; optimized
vertex array creation for large post-processing views on
Windows/Cygwin; removed Discrete Line and Discrete Surface commands
(the same functionality can now be obtained by simply loading a mesh
in .msh format); fixed coloring by mesh partition; added option to
light wireframe meshes and views; new "mesh statistics" export format;
new full-quad recombine option; new Plugin(ModulusPhase); hexas and
prisms are now always saved with positive volume; improved interactive
entity selection; new experimental Tetgen integration; new
experimental STL remeshing algorithm; various small bug fixes and
improvements.

New in 1.60: added support for discrete curves; new Window menu on Mac
OS X; generalized all octree-based plugins (CutGrid, StreamLines,
Probe, etc.) to handle all element types (and not only scalar and
vector triangles+tetrahedra); generalized Plugin(Evaluate),
Plugin(Extract) and Plugin(Annotate); enhanced clipping plane
interface; new grid/axes/rulers for 3D post-processing views (renamed
the AbscissaName, NbAbscissa and AbscissaFormat options to more
general names in the process); better automatic positioning of 2D
graphs; new manipulator dialog to specify rotations, translations and
scalings "by hand"; various small enhancements and bug fixes.

New in 1.59: added support for discrete (triangulated) surfaces,
either in STL format or with the new "Discrete Surface" command; added
STL and Text output format for post-processing views and STL output
format for surface meshes; all levelset-based plugins can now also
compute isovolumes; generalized Plugin(Evaluate) to handle external
view data (based on the same or on a different mesh); generalized
Plugin(CutGrid); new plugins (Eigenvalues, Gradient, Curl,
Divergence); changed default colormap to match Matlab's "Jet"
colormap; new transformation matrix option for views (for
non-destructive rotations, symmetries, etc.); improved solver
interface to keep the GUI responsive during solver calls; new C++ and
Python solver examples; simplified Tools->Visibility GUI; transfinite
lines with "Progression" now allow negative line numbers to reverse
the progression; added ability to retrieve Gmsh's version number in
the parser (to help write backward compatible scripts); fixed white
space in unv mesh output; fixed various small bugs.

New in 1.58: fixed UNIX socket interface on Windows (broken by the TCP
solver patch in 1.57); bumped version number of default
post-processing file formats to 1.3 (the only small modification is
the handling of the end-of-string character for text2d and text3d
objects in the ASCII format); new File->Rename menu; new
colormaps+improved colormap handling; new color+min/max options in
views; new GetValue() function to ask for values interactively in
scripts; generalized For/EndFor loops in parser; new plugins
(Annotate, Remove, Probe); new text attributes in views; renamed some
shortcuts; fixed TeX output for large scenes; new option dialogs for
various output formats; fixed many small memory leaks in parser; many
small enhancements to polish the graphics and the user interface.

New in 1.57: generalized displacement maps to display arbitrary view
types; the arrows representing a vector field can now also be colored
by the values from other scalar, vector or tensor fields; new adaptive
high order visualization mode; new options (Solver.SocketCommand,
Solver.NameCommand, View.ArrowSizeProportional, View.Normals,
View.Tangents and General.ClipFactor); fixed display of undesired
solver plugin popups; enhanced interactive plugin behavior; new
plugins (HarmonicToTime, Integrate, Eigenvectors); tetrahedral mesh
file reading speedup (50% faster on large meshes); large memory
footprint reduction (up to 50%) for the visualization of
triangular/tetrahedral meshes; the solver interface now supports
TCP/IP connections; new generalized raise mode (allows to use complex
expressions to offset post-processing maps); upgraded Netgen kernel to
version 4.4; new optional TIME list in parsed views to specify the
values of the time steps; several bug fixes in the Elliptic mesh
algorithm; various other small bug fixes and enhancements.

New in 1.56: new post-processing option to draw a scalar view raised
by a displacement view without using Plugin(DisplacementRaise) (makes
drawing arbitrary scalar fields on deformed meshes much easier);
better post-processing menu (arbitrary number of views+scrollable+show
view number); improved view->combine; new horizontal post-processing
scales; new option to draw the mesh nodes per element; views can now
also be saved in "parsed" format; fixed various path problems on
Windows; small bug fixes.

New in 1.55: added background mesh support for Triangle; meshes can
now be displayed using "smoothed" normals (like post-processing
views); added GUI for clipping planes; new interactive
clipping/cutting plane definition; reorganized the Options GUI;
enhanced 3D iso computation; enhanced lighting; many small bug fixes.

New in 1.54: integrated Netgen (3D mesh quality optimization +
alternative 3D algorithm); Extrude Surface now always automatically
creates a new volume (in the same way Extrude Point or Extrude Line
create new lines and surfaces, respectively); fixed UNV output; made
the "Layers" region numbering consistent between lines, surfaces and
volumes; fixed home directory problem on Win98; new
Plugin(CutParametric); the default project file is now created in the
home directory if no current directory is defined (e.g., when
double-clicking on the icon on Windows/Mac); fixed the discrepancy
between the orientation of geometrical surfaces and the associated
surface meshes; added automatic orientation of surfaces in surface
loops; generalized Plugin(Triangulate) to handle vector and tensor
views; much nicer display of discrete iso-surfaces and custom ranges
using smooth normals; small bug fixes and cleanups.

New in 1.53: completed support for second order elements in the mesh
module (line, triangles, quadrangles, tetrahedra, hexahedra, prisms
and pyramids); various background mesh fixes and enhancements; major
performance improvements in mesh and post-processing drawing routines
(OpenGL vertex arrays for tri/quads); new Plugin(Evaluate) to evaluate
arbitrary expressions on post-processing views; generalized
Plugin(Extract) to handle any combination of components; generalized
"Coherence" to handle transfinite surface/volume attributes; plugin
options can now be set in the option file (like all other options);
added "undo" capability during geometry creation; rewrote the contour
guessing routines so that entities can be selected in an arbitrary
order; Mac users can now double click on geo/msh/pos files in the
Finder to launch Gmsh; removed support for FLTK 1.0; rewrote most of
the code related to quadrangles; fixed 2d elliptic algorithm; removed
all OpenGL display list code and options; fixed light positioning; new
BoundingBox command to set the bounding box explicitly; added support
for inexpensive "fake" transparency mode; many code cleanups.

New in 1.52: new raster ("bitmap") PostScript/EPS/PDF output formats;
new Plugin(Extract) to extract a given component from a
post-processing view; new Plugin(CutGrid) and Plugin(StreamLines);
improved mesh projection on non-planar surfaces; added support for
second order tetrahedral elements; added interactive control of
element order; refined mesh entity drawing selection (and renamed most
of the corresponding options); enhanced log scale in post-processing;
better font selection; simplified View.Raise{X,Y,Z} by removing the
scaling; various bug fixes (default postscript printing mode, drawing
of 3D arrows/cylinders on Linux, default home directory on Windows,
default initial file browser directory, extrusion of points with
non-normalized axes of rotation, computation of the scene bounding box
in scripts, + the usual documentation updates).

New in 1.51: initial support for visualizing mesh partitions;
integrated version 2.0 of the MSH mesh file format; new option to
compute post-processing ranges (min/max) per time step; Multiple views
can now be combined into multi time step ones (e.g. for programs that
generate data one time step at a time); new syntax: #var[] returns the
size of the list var[]; enhanced "gmsh -convert"; temporary and error
files are now created in the home directory to avoid file permission
issues; new 3D arrows; better lighting support; STL facets can now be
converted into individual geometrical surfaces; many other small
improvements and bug fixes (multi timestep tensors, color by physical
entity, parser cleanup, etc.).

New in 1.50: small changes to the visibility browser + made visibility
scriptable (new Show/Hide commands); fixed (rare) crash when deleting
views; split File->Open into File->Open and File->New to behave like
most other programs; Mac versions now use the system menu bar by
default (if possible); fixed bug leading to degenerate and/or
duplicate tetrahedra in extruded meshes; fixed crash when reloading
sms meshes.

New in 1.49: made Merge, Save and Print behave like Include (i.e.,
open files in the same directory as the main project file if the path
is relative); new Plugin(DecomposeInSimplex); new option
View.AlphaChannel to set the transparency factor globally for a
post-processing view; new "Combine Views" command; various bug fixes
and cleanups.

New in 1.48: new DisplacementRaise plugin to plot arbitrary fields on
deformed meshes; generalized CutMap, CutPlane, CutSphere and Skin
plugins to handle all kinds of elements and fields; new "Save View[n]"
command to save views from a script; many small bug fixes (configure
tests for libpng, handling of erroneous options, multi time step
scalar prism drawings, copy of surface mesh attributes, etc.).

New in 1.47: fixed extrusion of surfaces defined by only two curves;
new syntax to retrieve point coordinates and indices of entities
created through geometrical transformations; new PDF and compressed
PostScript output formats; fixed numbering of elements created with
"Extrude Point/Line"; use $GMSH_HOME as home directory if defined.

New in 1.46: fixed crash for very long command lines; new options for
setting the displacement factor and Triangle's parameters + renamed a
couple of options to more sensible names (View.VectorType,
View.ArrowSize); various small bug fixes; documentation update.

New in 1.45: small bug fixes (min/max computation for tensor views,
missing physical points in read mesh, "jumping" geometry during
interactive manipulation of large models, etc.); variable definition
speedup; restored support for second order elements in one- and
two-dimensional meshes; documentation updates.

New in 1.44: new reference manual; added support for PNG output; fixed
small configure script bugs.

New in 1.43: fixed solver interface problem on Mac OS X; new option to
specify the interactive rotation center (default is now the pseudo
"center of gravity" of the object, instead of (0,0,0)).

New in 1.42: suppressed the automatic addition of a ".geo" extension
if the file given on the command line is not recognized; added missing
Layer option for Extrude Point; fixed various small bugs.

New in 1.41: Gmsh is now licensed under the GNU General Public
License; general code cleanup (indent).

New in 1.40: various small bug fixes (mainly GSL-related).

New in 1.39: removed all non-free routines; more build system work;
implemented Von-Mises tensor display for all element types; fixed
small GUI bugs.

New in 1.38: fixed custom range selection for 3D iso graphs; new build
system based on autoconf; new image reading code to import bitmaps as
post-processing views.

New in 1.37: generalized smoothing and cuts of post-processing views;
better Windows integration (solvers, external editors, etc.); small
bug fixes.

New in 1.36: enhanced view duplication (one can now use "Duplicata
View[num]" in the input file); merged all option dialogs in a new
general option window; enhanced discoverability of the view option
menus; new 3D point and line display; many small bug fixes and
enhancements ("Print" format in parser, post-processing statistics,
smooth normals, save window positions, restore default options, etc.).

New in 1.35: graphical user interface upgraded to FLTK 1.1 (tooltips,
new file chooser with multiple selection, full keyboard navigation,
cut/paste of messages, etc.); colors can be now be directly assigned
to mesh entities; initial tensor visualization; new keyboard animation
(right/left arrow for time steps; up/down arrow for view cycling); new
VRML output format for surface meshes; new plugin for spherical
elevation plots; new post-processing file format (version 1.2)
supporting quadrangles, hexahedra, prisms and pyramids; transparency
is now enabled by default for post-processing plots; many small bug
fixes (read mesh, ...).

New in 1.34: improved surface mesh of non-plane surfaces; fixed
orientation of elements in 2D anisotropic algorithm; minor user
interface polish and additions (mostly in post-processing options);
various small bug fixes.

New in 1.33: new parameterizable solver interface (allowing up to 5
user-defined solvers); enhanced 2D aniso algorithm; 3D initial mesh
speedup.

New in 1.32: new visibility browser; better floating point exception
checks; fixed infinite looping when merging meshes in project files;
various small clean ups (degenerate 2D extrusion, view->reload, ...).

New in 1.31: corrected ellipses; PostScript output update (better
shading, new combined PS/LaTeX output format); more interface polish;
fixed extra memory allocation in 2D meshes; Physical Volume handling
in unv format; various small fixes.

New in 1.30: interface polish; fix crash when extruding quadrangles.

New in 1.29: translations and rotations can now be combined in
extrusions; fixed coherence bug in Extrude Line; various small
bug fixes and additions.

New in 1.28: corrected the 'Using Progression' attribute for
tranfinite meshes to actually match a real geometric progression; new
Triangulate plugin; new 2D graphs (space+time charts); better
performance of geometrical transformations (warning: the numbering of
some automatically created entities has changed); new text primitives
in post-processing views (file format updated to version 1.1); more
robust mean plane computation and error checks; various other small
additions and clean-ups.

New in 1.27: added ability to extrude curves with Layers/Recombine
attributes; new PointSize/LineWidth options; fixed For/EndFor loops in
included files; fixed error messages (line numbers+file names) in
loops and functions; made the automatic removal of duplicate
geometrical entities optional (Geometry.AutoCoherence=0); various
other small bug fixes and clean-ups.

New in 1.26: enhanced 2D anisotropic mesh generator (metric
intersections); fixed small bug in 3D initial mesh; added alternative
syntax for built-in functions (for GetDP compatibility); added line
element display; Gmsh now saves all the elements in the mesh if no
physical groups are defined (or if Mesh.SaveAll=1).

New in 1.25: fixed bug with mixed recombined/non-recombined extruded
meshes; Linux versions are now build with no optimization, due to bugs
in gcc 2.95.X.

New in 1.24: fixed characteristic length interpolation for Splines;
fixed edge swapping bug in 3D initial mesh; fixed degenerated case in
geometrical extrusion (ruled surface with 3 borders); fixed generation
of degenerated hexahedra and prisms for recombined+extruded meshes;
added BSplines creation in the GUI; integrated Jonathan Shewchuk's
Triangle as an alternative isotropic 2D mesh generator; added
AngleSmoothNormals to control sharp edge display with smoothed
normals; fixed random crash for lighted 3D iso surfaces.

New in 1.23: fixed duplicate elements generation + non-matching
tetrahedra faces in 3D extruded meshes; better display of displacement
maps; fixed interactive ellipsis construction; generalized boundary
operator; added new explode option for post-processing views; enhanced
link view behavior (to update only the changed items); added new
default plugins: Skin, Transform, Smooth; fixed various other small
bugs (mostly in the post-processing module and for extruded meshes).

New in 1.22: fixed (yet another) bug for 2D mesh in the mean plane;
fixed surface coherence bug in extruded meshes; new double logarithmic
scale, saturate value and smoothed normals option for post-processing
views; plugins are now enabled by default; three new experimental
statically linked plugins: CutMap (extracts a given iso surface from a
3D scalar map), CutPlane (cuts a 3D scalar map with a plane section),
CutSphere (cuts a 3D scalar map with a sphere); various other bug
fixes, additions and clean-ups.

New in 1.21: fixed more memory leaks; added -opt command line option
to parse definitions directly from the command line; fixed missing
screen refreshes during contour/surface/volume selection; enhanced
string manipulation functions (Sprintf, StrCat, StrPrefix); many other
small fixes and clean-ups.

New in 1.20: fixed various bugs (memory leaks, functions in included
files, solver command selection, ColorTable option, duplicate nodes in
extruded meshes (not finished yet), infinite loop on empty views,
orientation of recombined quadrangles, ...); reorganized the interface
menus; added constrained background mesh and mesh visibility options;
added mesh quality histograms; changed default mesh colors;
reintegrated the old command-line extrusion mesh generator.

New in 1.19: fixed seg. fault for scalar simplex post-processing; new
Solver menu; interface for GetDP solver through sockets; fixed
multiple scale alignment; added some options + full option
descriptions.

New in 1.18: fixed many small bugs and incoherences in
post-processing; fixed broken background mesh in 1D mesh generation.

New in 1.17: corrected physical points saving; fixed parsing of DOS
files (carriage return problems); easier geometrical selections
(cursor change); plugin manager; enhanced variable arrays (sublist
selection and affectation); line loop check; New arrow display;
reduced number of 'fatal' errors + better handling in interactive
mode; fixed bug when opening meshes; enhanced File->Open behavior for
meshes and post-processing views.

New in 1.16: added single/double buffer selection (only useful for
Unix versions of Gmsh run from remote hosts without GLX); fixed a bug
for recent versions of the opengl32.dll on Windows, which caused OpenGL
fonts not to show up.

New in 1.15: added automatic visibility setting during entity
selection; corrected geometrical extrusion bug.

New in 1.14: corrected a few bugs in the GUI (most of them were
introduced in 1.13); added interactive color selection; made the
option database bidirectional (i.e. scripts now correctly update the
GUI); default options can now be saved and automatically reloaded at
startup; made some changes to the scripting syntax
(PostProcessing.View[n] becomes View[n]; Offset0 becomes OffsetX,
etc.); corrected the handling of simple triangular surfaces with large
characteristic lengths in the 2D isotropic algorithm; added an ASCII
to binary post-processing view converter.

New in 1.13: added support for JPEG output on Windows.

New in 1.12: corrected vector lines in the post-processing parsed
format; corrected animation on Windows; corrected file creation in
scripts on Windows; direct affectation of variable arrays.

New in 1.11: corrected included file loading problem.

New in 1.10: switched from Motif to FLTK for the GUI. Many small
tweaks.

New in 1.00: added PPM and YUV output; corrected nested If/Endif;
Corrected several bugs for pixel output and enhanced GIF output
(dithering, transparency); slightly changed the post-processing file
format to allow both single and double precision numbers.

New in 0.999: added JPEG output and easy MPEG generation (see t8.geo
in the tutorial); clean up of export functions; small fixes; Linux
versions are now compiled with gcc 2.95.2, which should fix the
problems encountered with Mandrake 7.2.

New in 0.998: corrected bug introduced in 0.997 in the generation of
the initial 3D mesh.

New in 0.997: corrected bug in interactive surface/volume selection;
Added interactive symmetry; corrected geometrical extrusion with
rotation in degenerated or partially degenerated cases; corrected bug
in 2D mesh when meshing in the mean plane.

New in 0.996: arrays of variables; enhanced Printf and Sprintf;
Simplified options (suppression of option arrays).

New in 0.995: totally rewritten geometrical database (performance has
been drastically improved for all geometrical transformations, and
most notably for extrusion). As a consequence, the internal numbering
of geometrical entities has changed: this will cause incompatibilities
with old .geo files, and will require a partial rewrite of your old
.geo files if these files made use of geometrical transformations. The
syntax of the .geo file has also been clarified. Many additions for
scripting purposes. New extrusion mesh generator. Preliminary version
of the coupling between extruded and Delaunay meshes. New option and
procedural database. All interactive operations can be scripted in the
input files. See the last example in the tutorial for an example. Many
stability enhancements in the 2D and 3D mesh algorithms. Performance
boost of the 3D algorithm. Gmsh is still slow, but the performance
becomes acceptable. An average 1000 tetrahedra/second is obtained on a
600Mhz computer for a mesh of one million tetrahedra. New anisotropic
2D mesh algorithm. New (ASCII and binary) post-processing file format
and clarified mesh file format. New handling for interactive rotations
(trackball mode). New didactic interactive mesh construction (watch
the Delaunay algorithm in real time on complex geometries: that's
exciting ;-). And many, many bug fixes and cleanups.

New in 0.992: corrected recombined extrusion; corrected ellipses; added
simple automatic animation of post-processing maps; fixed various bugs.

New in 0.991: fixed a serious allocation bug in 2D algorithm, which
caused random crashes. All users should upgrade to 0.991.

New in 0.990: bug fix in non-recombined 3D transfinite meshes.

New in 0.989: added ability to reload previously saved meshes; some
new command line options; reorganization of the scale menu; GIF
output.

New in 0.987: fixed bug with smoothing (leading to the possible
generation of erroneous 3d meshes); corrected bug for mixed 3D meshes;
moved the 'toggle view link' option to Opt->Postprocessing_Options.

New in 0.986: fixed overlay problems; SGI version should now also run
on 32 bits machines; fixed small 3d mesh bug.

New in 0.985: corrected colormap bug on HP, SUN, SGI and IBM versions;
corrected small initialization bug in postscript output.

New in 0.984: corrected bug in display lists; added some options in
Opt->General.

New in 0.983: corrected some seg. faults in interactive mode; corrected
bug in rotations; changed default window sizes for better match with
1024x768 screens (default X resources can be changed: see ex03.geo).

New in 0.982: lighting for mesh and post-processing; corrected 2nd
order mesh on non plane surfaces; added example 13.

