v0.60 
  - (mini-thesis release)

v0.61 (workshop release)
  - added: rgl.sprites
  - added: fps counter
  - added: autoUpdate, modified win32 mainloop, on hide, autoUpdate disabled, on show enabled
  - modified material: added alpha vector

v0.62
  - modified sphere set
  - support R color strings
  - use system.file( <subpath>, package="rgl" ) in examples to retrieve texture files
  - rewrote R code : 
    * clear enum types
    * vertex vector datatype (internal representation matrix)

v0.63
  - api: added rgl_init, rgl_quit: explicit client initialization
  - added setup.bat: build setup for windows
  - win32 setup: mingw compiler
  - win32 setup: visual c++ compiler through gui environment

v0.64
  - autoconf build system
  - moved textures to inst/ directory
  - x11 port
  - win32/vc: fixed fpu control word precision to remain on 64 bit
    links with fp10.obj
  - changed texture mapping t coordinate for Surface node

v0.64-2
  - rgl.quads: enum id was broken, fixed ("quads" -> "quadrangles")
  
v0.64-3
  - configure.ac: X11 library path broken, fixed
  - x11gui: glXChooseVisual part fixed
  - code cleanup: rglview.h  
  - added: man/maintainer.Rd maintainer information

v0.64-4
  - manual update
  - aquired valid CRAN package status, 
    rcmd check runs through with 2 WARNINGS 
    (acording to latex, and codoc)
  - uploaded to cvs

v0.64-5
  - MacOS X/X11 port

v0.64-6
  - updated build system: added setversion.sh 
  - with MinGW version 3.0.1 pixmap loading does work
  - project.mk , win32.mk and x11.mk in src/build changed
    now a single variable MODS will extend.  
  - MinGW build system changed.
    rgl.dll now contains an R compilant Resource information
    generated by R perl script
  - bug fix: R 1.8.0/win32 does not detach packages when quit
    it is safe now to call rgl_quit and lib_quit multiple times
    win32lib.cpp: added dllmain that calls rgl_quit on process exit    
  - added core support for devcpp IDE

v0.64-7
  - added mouse capturing
  - rgl.sprites 'radius' bug fixed
  - memory leak bugfix: texture objects are now AutoDestroy and used through Ref's
  - resource management improvment: pixmaps gets free'd when they become unused
    e.g. texture objects are created.
  - no limitations on pixmap sizes
  - mipmap support
  - support for different texture minification and magnification filters

v0.64-8
  - build bugfix : removed rgl/src/Makefile
  - updated configure to check and setup LDFLAGS for OpenGLU library

v0.64-9
  - MacOS X 'Panther' G5 fix for OpenGL library loading in .first.lib
  - removed lpng and zlib from source tree 
  - support for automatic downloading of zlib and lpng on win32 
  - added demo directory with several examples using demo(rgl)

v0.64-10
  - updated .C() calls using PACKAGE="rgl"
  - updated Maintainer.mk using correct zlib version
  - improved dynamic unload using library.dynam.unload()
  - conditional macos x darwin code in .First.lib()

v0.64-11
  - removed several redundant semicolons, required by gcc 3.4 ansi-pedantic mode.
  - win32: uses R's zlib and libpng sources
  - win32: added virtual destructor in Win32GUIFactory (removes warning)
 
v0.64-12
  - cran bugfix: permissions of cleanup fixed.

v0.64-13
  - DESCRIPTION fix: moved R 1.41 -> R 1.4.1 dependency

v0.65
  - simplified build system: uses 'R' build system
  - added generic visualization/rendering interface (R3D)
  - text justification from 0 to 1
  - added primitive type: linestrips
  - fixed rgl.bringtotop, added stay option (win32)
  - added 4x4 matrix functions from djmrgl
  - added rgl.user2window and rgl.window2user functions
  - added user-selectable mouse handlers
  - added selection mouse handler
  - added trackball mouse handler
  - added z-distance sorted rendering of alpha-blended faces 
  - added gl2ps patch ( contributed by Albrecht Gebhard )
  - added port: native Mac OS X Carbon
  - bugfix: rgl.close() , rgl.quit() crashed on X11 occasionally.
  - generalized rgl.surface() to allow surface over any coordinate plane.
  - added r3dDefaults variable to allow user to set defaults
  - added environment texture-mapping

v0.66
  - added "all" and "viewpoint" to rgl.clear and clear3d
  - added static libpng build support and user customizable prefix (unix)
  - used xyz.coords in all functions taking x, y, z coordinates, allowing
    matrix or dataframe arguments (among others)
  - added par3d(skipRedraw=TRUE) to allow drawing to be done without
    being rendered
  - fixed display list memory leak when drawing shapes (e.g. spheres)
  - Changes for compatibility with strict enforcement of file naming rules in R 2.3.0.

v0.67
  - added support for png files with palettes, and grayscale pngs with 1, 2 or 4 bits 
    per pixel
  - added "ignoreExtent" option to par3d:  objects plotted when this is true
    are ignored when calculating the bounding box
  - added axis3d, axes3d, box3d, mtext3d, title3d functions from djmrgl for 
    annotating plots.
  - added plot3d high level plot function
  - added material3d, which can both set and query material properties; changed
    most *3d functions so they leave material invariant across calls.
  - changed open3d() to set background and material defaults
  - added aspect3d to control the aspect ratio of the bounding box.
  - added xAxis, yAxis and zAxis mouse modes, set zAxis as r3d default.
  - added persp3d function
  - changed error messages to go through REprintf in X11 and OSX
  - fixed segfault if rgl_init failed
  - converted type of viewport arg in user2window and window2user calls
  - if the rgl_init call fails, the package will still load with a warning (but
    most function calls will result in errors).
  - added par3d("scale") to handle aspect3d operations internally.
  - added ellipse3d() generic and methods for drawing confidence ellipsoids
  - added decorate3d() to draw all the decorations, plot3d.qmesh3d() method.
  - changed zoom to use ratio scale over larger range
  - fixed bug causing jump after resize in Mac OSX (and maybe other platforms)  
  - rgl.primitive now does sanity checks on inputs

v0.67-2
  - minor correction

v0.68
  - fixed sphere drawing so spheres are spheres regardless of par3d("scale")
  - added type="s" to plot3d to draw spheres
  - fixed handling of "..." in axis related functions
  - added full MDI support
  - removed use of List and ListIterator internally
  - fixed handling of axes and boxes when a coordinate had zero extent
  - changed rgl.viewpoint default to be compatible with r3dDefaults
  - added id return values to primitives and higher level functions, 
    and to rgl.pop(); added rgl.ids() to report on them.
  - updated gl2ps to version 1.3.1, adding support for svg and pgf output formats.
  - added grid3d(), added nticks argument to bbox3d, axis3d and axes3d.
    
v0.69
  - persp3d partially ignored add=TRUE
  - plot3d.qmesh3d did not return result
  - allow selection to use any button
  - allow NA in primitives, surfaces, texts, and sprites
  - report error in OSX if the wrong configure options were used.
  - display was not being updated properly in OSX
  
v0.70
  - OSX now builds two libraries, one for AGL, one for X11
  - resolve entry points at load time, not call time
  - updated gl2ps to version 1.3.2
  - fixed bug in rgl.postscript in Linux, added text support to it
  - tweaked positioning of labels in bounding box decoration
  - snapshot3d wasn't being exported, and snapshots were from the back buffer
  - fixed bug that could cause crash on shutdown
  - moved this file (ChangeLog) to inst directory, so it will be installed,
    and added code to display it to the rgl help topic.

v0.71
  - changes to configure script from Laszlo Kajan and Brian Ripley:  should 
    now be much more portable
  - removed deprecated OSX font setting calls
  - texture properties are now returned by material3d()
  - allowed normals and texture coordinates to be specified in triangles, quads and surfaces
  - normals may be specified in qmesh objects, but (at present) subdivide removes them
  - material3d() now preserves the values of unspecified parameters (as documented,
    but not previously functioning)
  - clear3d() can now reset material properties to the defaults, and
    open3d() does this.
  - minor fix for gcc 4.3 compatibility
  - minor fix for R 2.5+ compatibility
  - allowed more general surfaces to be plotted by rgl.surface, surface3d and 
    persp3d, by specifying matrices for x and y coordinates
  - added world map texture, used in example(persp3d)
  
v0.72
  - declaration changes for compatibility with R 2.6.0 (from Brian Ripley)

v0.73
  - partial changes to avoid crash on MacOSX with Xvfb
  - change to rgl_init for R 2.6.0 compatibility
  
v0.74
  - clean up #includes
  - clean up some calls for SunStudio 12 compiler
  - add rgl.setMouseCallbacks to allow user actions
  
v0.75
  - add play3d, movie3d, par3dinterp, and spin3d functions, with flag demo
  - rounding error could cause par3d(userMatrix) to generate NaNs and fail
  - workaround for Xvfb on MacOSX problems
  
v0.76
  - put our own assert() macro in place to avoid crashing R.
  - rename ChangeLog file to NEWS, as per discussion on R-devel
  - add "windowRect" to par3d parameters to allow window size to be
    controlled from R.
    
 v0.77
  - par3d("windowRect") returned garbage if there was no window open.
  - persp3d() and plot3d() sometimes miscalculated ranges involving NAs.
  - select3d() and rgl.select() produced a very inefficient test function.
  
 v0.78
  - fix miscalculation of mouseMatrix that caused disappearing views.
  - rgl.texts() and text3d() can now handle font and size specifications
    using the FreeType library on any platform, or GDI on Windows. 
  - adj is supported both horizontally and vertically in drawing text.
  - rgl.pop was very slow when given a long list of ids.
  - a workaround for OSX 10.5 OpenGL problems has been incorporated
    (thanks to mkv22@cam.ac.uk).

v0.79
  - rgl.pop() could cause corruption when multiple windows were open.
  - added mouseCallbacks demo, to show R implementations of standard
    mouse handlers, multiple connected windows, stereo view, etc.
  - added "silent" argument to rgl.set(), to allow temporary changes
    to focus without changing window labels.
  - added natural spline extrapolation to par3dinterp.

v0.80
  - worked around bug(?) in Mac OSX FTGL rendering
  - updated FTGL to 2.1.3rc5
  
v0.81
  - converted Freetype font error into warning
  - rglFonts was being set at install time, but it should be set at load
    time.
  - fixed configuration problems in OS X
  - fixed executable marker on a number of files
  
v0.82
  - rewrote internal rendering of transparent and anti-aliased shapes,
    so they will be rendered better when there are several in the same 
    scene
  - added material properties "point_antialias", which causes points to be 
    drawn as smooth circles, and "line_antialias", which causes
    lines to be antialiased.
  - fixed a bug in the bounding box decoration which caused axis labels
    to be plotted in the wrong place.
  - fixed a bug in the Windows driver which caused the standard system 
    font to disappear when justified.
  - added material parameter lwd for line width; size now applies only
    to points.
  - increased default point size to 3 pixels across.
  - fixed bug in open3d:  "..." was being ignored.
  - fixed bug in qmesh3d:  homogeneous=FALSE coordinates were not
    handled properly.
  - movie3d gains a "type" argument to set the output type, and the 
    "convert" argument is more flexible.
  - rgl.snapshot() gives more informative error messages when libpng is
    not available.
  - axis3d() now uses format() rather than as.character() to give
    nicer looking labels.
  - the clipping volume calculation was incorrect when scaling was used.
  - use R warning() to report messages, rather than popups or REprintf.
  - added rgl.pixels() to read the generated image, and demo("stereo")
    to illustrate its use.
  - corrected the ?rgl example to display this file.

v0.83-1
  - Don't try to build Carbon driver in 64 bit Mac OS (contributed by
    Brian Ripley).
  - Fixed rgl.pixels example for weird displays.
  - Did not assume OpenGL 1.2 was available in material properties.
  - Added numerous error checks.
  - Fixed demo(stereo) to add sync in X11:  X windows seemed to grab
    images before they were redrawn.
  - Rearranged headers for Win64 compatibility (contributed by Alex 
    Chen).
    
v0.83-3
  - Quick fix for R 2.9.x compatibility, and to remove accidental change
    introduced in v0.83 which caused errors on plotting without open3d().

v0.84
  - Added triangle meshes, shape lists, the Platonic solids and a cuboctahedron.
  - Added classes mesh3d and shapelist3d; qmesh3d is only kept for 
    back compatibility. 
  - Bug fix to stop crashes when material is set before the first window is
    opened.
    
v0.85
  - Added some namespace declarations to the C++, and renamed math.h, for
    compatibility with Sun compilers (contributed by Brian Ripley).  
  - Fixed visibility of some shade3d, wire3d and points3d methods.
  - Added addNormals generic, to add normals for smooth surface rendering.
  - Added cylinder3d function, to make cylindrical or "tube" plots.
  - Fixed material3d("color") bug introduced in 0.82.
  
v0.87
  - Allowed FOV to be set to 0, for an orthogonal projection.
  - Fixed crash when zero-length color vector was used.
  - Fixed crash in X11 after closing a window
  - Changed seq(along=...) to seq_along(...).
  - Fixed typo in cylinder3d.
  - Cleaned up bad links in Rd files.
  
v0.88
  - Add keepVars argument to cylinder3d(), for debugging or special
    effects.
  - Add BugReports field to DESCRIPTION.
  
v0.89 
  - Fixed rounding errors and Xvfb errors in rgl.pixels examples
    and demo.
    
v0.90
  - Added startTime argument to play3d() and movie3d().
  - Fixed configure.ac as suggested by Jens Elkner.
  - Updated declarations for libpng 1.4.0 compatibility.
  - An off-by-one error caused the "alpha" component of the material
    properties to be messed up. (Bug #809)

v0.91
  - Fixed bug in rgl.texts:  zero-length texts argument caused crash.
    (Reported by Michael Friendly.)
  - Added R_ARCH* macros to configure.win for Win64 compatibility
  - Fixed bad declaration in rglmath.h
  
v0.92
  - Added detection of 64 bit MacPorts compiler to configure script. 
    (Bug #861)
  - Allowed texture coordinates to be specified in mesh objects.
  - Updated gl2ps to version 1.3.5
  - Should now install using --merge-multiarch on Windows

v0.92.798
  - Added declarations for Solaris compatibility (from Brian Ripley)
  - Fixed configure.win for bi-arch compatibility.  Windows installers can
    set HAVE_PNG to a non-empty value, and rgl will look for 
    the libpng files in the default LOCAL_SOFT location when installing.
  - Added depth_mask and depth_test material properties, to allow control
    over how objects are obscured by each other.
