RELEASE NOTES
=============

This file describes notable changes in the Coin library in a more
elaborate way than can be fit into to the compact NEWS summary file.

The changes described here are issues that might have an effect on the
compatibility of your source code when upgrading the library.

Coin 2.4.4
==========

Minor axis MIDDLE (i.e. center) justification for VRML97's FontStyle
and Text nodes did previously not work as expected, but should now, so
text layout depending on the old, wrong behavior might not look good
any more.

Coin 2.4.4
==========

Ray-picking precision has been vastly improved, which may result in slight
application behaviour changes, hopefully in a positive way.

Coin 2.4.3
==========

No intentional change in semantics for anything in this version.

Coin 2.4.2
==========

No intentional change in semantics for anything in this version.

Coin 2.4.1
==========

Rectangle and lasso selection (SoExtSelection) can now be aborted through
keyboard events.

Coin 2.4.0
==========

Fixed sensor processing in SoSensorManager to be conformant to SGI
Inventor. Sensors with equal priority or trigger time are now processed
FIFO (this used to be LIFO).

File compression support (reading) was removed for anything but regular
files and memory buffers (to fix a bug).

Coin 2.3.0
==========

No intentional change in semantics for anything in this version.

Coin 2.2.1
==========

VRML97 PROTOs are now handled more properly.  Fields are connected both
ways between the scene graph and the PROTO instance.  You can now change
fields in the scene graph, and the PROTO instance (the container for the
PROTO based fields) will be updated.  When exporting scene graph to file
again, PROTO field values should contain updated values.

See also description for Coin 2.2.0; "the release that never was"[1].

Coin 2.2.0
==========

New nodes SoBumpMap, SoBumpMapCoordinate, and SoBumpMapTransform for
bumpmapping support.

New node SoTextureUnit for multitexturing support.

New node SoSceneTexture2 for rendering scene graphs to textures, with
offscreen pbuffer support on selected platforms.

Slight change of semantics for the SoFile node: the scene graph from
the file will now always be reproduced as-is from the SoFile
node. Previously, there would always be an SoSeparator root node added
(if one was not present). Note that this change can in theory cause
visible changes for application code using SoFile nodes, as
e.g. appearance type nodes (like for instance SoMaterial) can now
influence subsequent parts of the scene graph. The new behavior is
consistent with the behavior of SoFile from the original Open Inventor
implementation of SGI.  Also note that there was a bug in getting
bounding box information for SoFile nodes (and SoVRMLInline nodes)
that has now been fixed.

Slight change of semantics for the SoMarkerSet node: a marker in the
marker set will now be culled if its 3D position is positioned on the
"clipping side" of an SoClipPlane node. (SoMarkerSet markers was
previously only culled against the near and far view frustum clipping
planes.)


Coin 2.1.0
==========

New class SoIntersectionDetectionAction in Inventor/collision/ for
detecting intersecting primitives in a scene graph.

New class SoVectorizePSAction in Inventor/annex/HardCopy/ for
generating PostScript images of scene graphs.

Inventor and VRML files compressed on disk with gzip or bzip2 will
be decompressed automatically upon loading.  API functions for
controlling compression during export has been added to the class
SoOutput.

SoBoxHighlightRenderAction and SoLineHighlightRenderAction will
now do highlight rendering for all SoSelection nodes in the scene
graph, not just the first one.


Coin 2.0.2
==========

We found and fixed a bug for SoQuadMesh usage with PER_FACE materials.
Models depending on this bug will likely change appearance. This was
a bug that was introduced in Coin-2. Coin-1 does not have this bug.

Nodekits will now write out all relevant parts when the scene graph
is exported (not only the public parts as we did earlier). This is 
done to be compatible with SGI/TGS Inventor.

Because of this new feature, it will now also be possible to import 
data into private nodekit parts. In Coin 2.0.1 this would trigger a
read error.

Coin 2.0.1
==========

No intentional change in semantics for anything in this version.


Coin 2.0.0
==========

Removed obsoleted methods in SoField:

  SbBool connectFrom(SoVRMLInterpOutput * master,
                     SbBool notnotify = FALSE, SbBool append = FALSE);
  SbBool appendConnection(SoVRMLInterpOutput * master,
                          SbBool notnotify = FALSE);
  void disconnect(SoVRMLInterpOutput * interpoutput);
  SbBool isConnectedFromVRMLInterp(void) const;
  SbBool getConnectedVRMLInterp(SoVRMLInterpOutput *& master) const;

These methods were obsoleted in Coin-1, and we chose to remove them
in Coin-2.

Changed behaviour of CLAMP texture wrap mode

  When CLAMP is specified as the texture wrap mode (for SoTexture2 or 
  SoTexture3), the OpenGL feature GL_CLAMP_TO_EDGE will be used instead 
  of GL_CLAMP. This is done since GL_CLAMP_TO_EDGE is usually what you 
  want. Especially for Coin/Open Inventor where it's impossible to specify
  the texture border color used by GL_CLAMP. The environment variable 
  COIN_ENABLE_CONFORMANT_GL_CLAMP can be set to "1" to force Coin to use 
  GL_CLAMP instead of GL_CLAMP_TO_EDGE.



[1] Coin 2.2.0 was pulled before it was announced because of a critical
    bug that was introduced just before the release.  We want to blame a
serious disk crash we experienced two days earlier, but we should maybe
blame our backup and final testing routines instead.
