29/03/2006:

Release of version 0.7.6

Important changes:

- Debian snapshot package creation.
- LC_ALL is set to POSIX in all executables to avoid problems with
locale-dependent floating-point conventions.

17/10/2005:

Release of version 0.7.4

Important changes:

- Switched to darcs for version control (the CVS tree is obsolete).

Bug Fixes:

- For constrained Delaunay, closest face for glib >= 2.4 did not use planar distance.
- Several fixes for gts_delaunay_add_constraint.
- Fix for degenerate case in isotetra_bcl().
- Fix for comments not being fully ignored by GtsFile.

Minor changes and features:

- delaunay and happrox are installed.
- Fast triangle-box intersection test by Tomas Akenine-Moller.
- New function gts_triangle_interpolate_height().
- binary STL files work on win32.

18/10/2004:

Release of version 0.7.3

New features/important changes include:

- Autodetection and support for glib >= 2.4 (but glib >= 1.2.8 is
  still supported): glib >= 2.0 and < 2.4 is not supported (send me
  patches!).
- pkgconfig preliminary support
- Mingwin support.
- Changes to the interface of gts_graph_read().

Bug Fixes:

- Constrained Delaunay Triangulation guess selection
- Boolean operations: Now uses SOS for segment/triangle intersections.

15/05/2004:

Release of version 0.7.2

New features includes:

- gts2dxf and gts2stl filters.
- New GtsColorVertex class.
- "Dual" isosurface calculation by Tim F.
- New "happrox" algorithm to approximate terrain models.
- New GtsMatrix implementation (quaternions) by Wayne Gramlich and
  Michael Loehr.
- Attributes inheritance when computing intersections.

Bug fixes:

- Major changes to inner loops triangulation for boolean operations.
- compilation on SGI Altix
- Fixed gts.def generation for Windows support.
- Cygwin support.

08/01/2003:

Release of version 0.7.1

New features includes:

- Sphere tessellation by Jerome Benoit.

As well as a number of bug and compilation fixes.

The interface to the gts_surface_refine() function has been made more
generic.

08/11/2002:

Release of version 0.7.0

Boolean operations have been almost entirely rewritten and now use a
Simulation of Simplicity (SoS) technique to deal with degenerate
cases. This should fix most of the problems encountered when dealing
with "simple" geometric objects (i.e. cube/cube intersections with
coplanar faces etc...) Almost all the test cases in the test suite
(including significant tests submitted by users) now pass. Difficult
test cases like an object intersecting with a simplified version of
itself (created using coarsen for example) work fine despite the huge
number of degenerate cases (coincident and nearly coincident edges,
faces, vertices).

There is still a caveat however for intersections which creates
multiple closed loops contained within one another (note that this
wasn't a problem in the previous version). This needs to be fixed at
some point.

Another problem is that the surfaces resulting from a boolean
operation while guaranteed to be topologically consistent may contain
degenerate edges/faces which will prevent them from being used in a
subsequent boolean operation. The degenerate entities need first to be
eliminated (through edge/face collapse).

The gts_point_is_inside_surface() function has been rewritten using SoS.

A new stl2gts tool provides conversion between STL (stereolithography)
format and GTS format.

Ray Jones has added new functions to compute gaussian curvature,
principal curvature directions etc...

The gts_file_close() function call has been replaced by a
gts_file_destroy() function which does not close the file. This is
better left to the caller. Your application might need a slight
modification there.

The whole automake/autoconf stuff has been upgraded to use version
1.6.3 of automake.

Gert Wollny has added a marching tetrahedra isosurface construction
technique which should avoid topological defects in isosurfaces
(created by inconsistencies inherent to the marching cube technique).

A number of bugs have been fixed (thanks to bug reporters).

08/10/2001:

Release of version 0.5.0.

Configuration and compilation have been cleaned and updated. Now
builds both shared and static libraries.

A new `gts-config' script allows simpler use of the library (a la
glib), together with a gts.m4 macro definition for your own autoconf
usage.

A number of new features have been added:

- Configurable out-of-core simplification framework for surfaces
larger than the main memory.

- Conforming constrained Delaunay triangulation and Delaunay
refinement by addition of Steiner points.

- Simple implementation of FIFOs (First-In First-out queues).

- New graph objects and operations on graphs. In particular efficient
graph partitioning routines.

- "Stabbing" functions have been added to bounding box trees, which
now allows for efficient testing whether a point lies inside or outside
a surface.

A number of bug fixes and improvements have also been added:

- More generic object methods for surfaces.

- Easily definable inheritance of face attributes (in particular for
boolean operations).

- Bug fixes for boolean operations.

The srf2oogl converter has been renamed to gts2oogl and an 'isolines'
functionality was added.

31/01/2001: 

Release of version 0.4.0. Much has happened since 0.3.0. A
new object structure inspired by GTK allows to use classical
inheritance mechanisms and virtual functions. As a consequence the
object hierarchy has been restructured and now uses points, vertices,
segments, edges, triangles, faces and surfaces.

The Delaunay triangulation has been entirely re-written and is now
fully-dynamic (insertion or deletion of vertices). The constrained
Delaunay triangulation is semi-dynamic (insertion of vertices and
constraints).

Boolean operations between surfaces have also been re-written and are
more robust (and also benefit from a much more robust implementation
of the Delaunay triangulation).

Surface coarsening routines have been improved both in term of a more
generic interface and in order to avoid artefacts such as folds in the
simplified surface.

An interesting new extension is the implementation of progressive
surfaces which allow dynamic real-time continuous level-of-detail
representation of a surface. Progressive transmission of surfaces is
also possible. The first building blocks for a hierarchical surface
extension have been written. This will allow for dynamic
view-dependent simplification of surfaces.

The floating-point control interface necessary for robust geometric
predicates has been cleaned and GTS should now build on any (touch
wood) UNIX-based machine.

Preliminary support has been added for win32 compilation using
Microsoft C.

Please note that the html reference manual is now distributed with the
sources.

15/02/2000: 

Samples geometry files are avalaible at
http://gts.sourceforge.net/samples.html

02/02/2000: 

Release of version 0.2.0. New data structures and algorithms including
triangle strips and binary heaps. The algorithms for surface
coarsening and refinement are more efficient and general. See
Changelog for a more complete history.

17/01/2000: 

Release of version 0.1.0. GTS has officially moved to
gts.sourceforge.net. A number of bug fixes. A few interface
changes. Most of the functions have been checked for memory
leaks. Nearly all the functions are now documented.
