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

This file describes notable changes in the SIM Voleon 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.

SIM Voleon 2.1.0
================

* This version is dependent on the Coin version to be 4.0.0 or
  later due to a migration to CMake build system generator.


SIM Voleon 2.0.1
================

* This version is dependent on the Coin version to be 2.3.0 or
  later. This was necessary to fix a major resource leak bug with
  OpenGL textures.

SIM Voleon 2.0.0
================

* A major semantic change was made from version 1.0.0: data was
  flipped (i.e. upside-down) on the Y axis. This bug was fixed for
  version 1.1.0, but older client code may depend on this bug being
  present, by having work-arounds for the bug which expect Y-flipped
  data.

  We suggest upgrading older client code by either removing the
  work-arounds, or by setting the environment variable

        CVR_USE_FLIPPED_Y_AXIS=1

  ..which will preserve the old, buggy behavior. Note however that we
  expect to remove support for the old behavior with the next major
  release (i.e. SIM Voleon release 2.0.0).


* Another major semantic change from 1.0.0: the unit dimensions of a
  volume set by SoVolumeData::setVolumeData() will be normalized to be
  within a 2x2x2 cube (unless overridden with
  SoVolumeData::setVolumeSize()), and not be set to match the voxel
  dimensions, as was previously done.


* SoVolumeDataElement obsoleted.

  This element is no longer used, and will be removed from the public
  interface from the next major release. It is unlikely that any
  client code was using this element, but if so, get in touch at
  <coin-support@coin3d.org> to get information about how to handle
  this change.


* SoTransferFunctionElement no longer part of public API.

  This element will most likely be obsoleted. It is unlikely that any
  client code was using this element, but if so, get in touch at
  <coin-support@coin3d.org> to get information about how to handle
  this change.


* A minor API change that will cause client code to break upon
  compilation is that the argument to SoVolumeData::setReader() was
  changed from a pointer to a reference, i.e. from

        void SoVolumeData::setReader(SoVolumeReader * reader)
  to
        void SoVolumeData::setReader(SoVolumeReader & reader)

  This is easily handled in client code by adding a dereference "*" in
  front of the input variable.
