1.2 (08/07/2006)
----------------
Added:
 - Rotamer library can be cleared now
 - Autobuild script now supports building without VIEW
 - Added support for Dunbrack's backbone-dependent rotamer libraries
 - Added data files for Dunbrack's backbone-independent and backbone-dependent rotamer libraries

Changed:
 - Default behavior of ResidueChecker has changed: overlap test for atoms
   is disabled by default, as it was too sensitive. Test for *strongly* overlapping
   atoms is usually sufficient and is still enabled by default.
 - Default constructor of RotamerLibrary reads default rotamer library (bbdep02.May.sortlib) now
 - Path is now a singleton
 - Rotamer library is not sorted implicitly anymore when read in from SCWRLRotamerFile object

Fixed:
 - Major overhaul of the tutorial and the examples

1.2 alpha (21.03.2007):

Added:
 - Protein-protein docking code based on Fourier correlation (requires FFTW library)
 - An interactive user interface for docking algorithms
 - MMFF94 force field
 - Molecular Editing functionality
 - Processor for saturating atoms with Hydrogen atoms
 - Small molecule database interface (FORMAT/DBInterface) allows the 
   storage and retrieval of small molecules and their conformations in
   a relational database
 - Quaternion RMSD optimizer (STRUCTURE/RMSDMinimizer) calculates the optimal 
   transformation for a point set, similar to the Kabsch algorithm. An implementation 
   of the paper by Coutsalies et al., J. Comput. Chem. 25(15), 189 (2004)
 - A major rewrite of the code for molecule superposition
 - A SMARTS matcher
 - Kekulizer
 - An interface to GAMESS (to allow quantum mechanics calculations from BALL)
 - Volume Rendering and colored planes e.g. for electrostatics
 - Support for field lines, vector grids and normalized grids
 - Toolbars in BALLView
 - Storing and replay of mouse / keyboard inputs; e.g. for demos, tutorials, tests
 - Abilitiy to create screenshots larger than the screen size
 - BALL documentation widget in BALLView
 - BALLView has menu entries for user defined Python Hotkeys
 - Python widget now has its own script editor
 - Python widget supports completion and Syntax Highlighting
 - Python widget support for context sensitive help for BALL Python commands
 - Further Python example scripts
 - Capping planes
 - Preview mode for representations e.g. in Rotate mode
 - Viewing volume can be reduced to a given cube size
 - Toon Drawing Mode for OpenGL
 - Improved rendering of transparent surfaces
 - Improved Cartoon model and new Ribbon model
 - Improved coordinate system
 - Improved feedback for users: e.g. Busy mouse cursor and statusbar entries
 - Popup infos for e.g. atoms under the mouse cursor
 - Widget for overview of atom values (e.g. atom type, charge)
 - Monitoring of molecular files for updates (e.g. for external simulations)
 - Ability to rename and sort representations
 - Font for BALLView can now be freely choosen
 - History of PDB downloads
 - Support for given PDB database URLs, e.g. for proxies/mirrors
 - Support for DSN6 electron densitiy files
 - Eased installation process under Microsoft Windows
 - Support for the PowerPC architecture
 - Ability to create Debian source packages
 - Autobuild script
 
Changed:
 - Build process now requires GNU make for conditional compiling
 - common.mak has been broken down into targets.mak and rules.mak
 - configure now checks for the correct version of QT
 - OpenGL extensions are now accessed through GLEW (OpenGL Extension Wrangler Library)
 - DatasetControl now supports generic data types
 - Persistence classes in VIEW/KERNEL were moved to CONCEPT
 - Major cleanup of the Multithreading, Inter-Thread Communication and Messaging system
 - Renamed class: PrimitiveManager -> RepresentationManager

Fixed:
 - Major code overhaul of the whole VIEW framework
 - Return pressed in PeptideDialog now applies settings
 - Several bond order errors in the fragment database

Known problems:
 - RegularData widgets currently dont work

------------------
1.1.1:

The version 1.1.1 finally brings full Python, DLL and nmake Makefile support under Windows.
Furthermore there is a large number of prominent fixes (especially for g++ 4.x) 
and some new functionality for BALLView.

Added:
 - Support for Python under Windows
 - Python support for further classes 
 - Support for creating animations and movies per Python script
 - Further Python example scripts
 - Some sensible Hotkeys for Python Scripts in BALLView
 - Support for SD files in BALLView
 - Context sensitive HTML documentation in BALLView
 - BALLView again has a fourth drawing precision "ultra" for real 
   fast graphics accelerator cards
 - Amber charges and radii values for nucleotides
 - Picking support for bonds
 - Coloring by molecule

Changed:
 - BALL and BALLView libraries are now built as DLLs under Windows
 - Both libraries are now compiled with optimization under Windows
 - Improved useability of the DisplayProperties Dialog
 - Visual improvements for the cartoon model, e.g. for DNA and Strands
 - Renamed Mesh::colorList to Mesh::colors
 - Exception::InvalidRange now has a float value
 - Bond::TooManyBonds moved to Exception namespace
 - A standard BALLView Python startup script will be executed in any case.
 	 It can be found in BALL/data/startup.py.
   Users can choose an additional startup script, that will run afterwards.
 - PyInterpreter and PyWidget report the reason if the Python module can not be loaded
 - Removed Notification and changed the way to register for Log access 
 - Removed GLQuadricObject. This functionality is available through GLRenderer
 - Improved PreferenceEntry class and reading/storing code for preferences
 - Coloring of surfaces by grid: the way autoscale works and the default colors
 - Renamed ColorTable to ColorMap
 - Cleanup of the Scene code for move, rotate, zoom: Now cleaner, smaller and faster code.
 - Adapted DownloadPDBDialog to new rcsb.org website

Fixed:
 - Crash while reading PDB files with too many bonds
 - Crash while wrongly using malformed boolean expression "residueID(...)"
 - Crash in CalculateSecondaryStructureProcessor, when one SS is part of another
 - Crash while running an MDS with trajectory if the DCD file could not be written
 - Crash with representations for two different systems
 - Crash with mouse movements while animation is running
 - Memory issues with Python objects (e.g. inserting GeometricObjects into Representations)
 - FragmentDB entries for H-atoms in nucleotides
 - NMRViewer und underlying widgets did not compile
 - Problems in persistence with g++ 4.x series
 - Hangup in socket interface with g++ 4.x series
 - Problems with POSIX compliance of socket classes
 - Mouse sensitivity changed in Rotate mode when focusing on small structures
 - Lighting, especialy for directional lights
 - Saving and loading of BALLView project files
 - Accelerators for menu entries didnt always work
 - Splitting of surfaces for given distance: computed incorrect surfaces
 - POVRay export: degenerated objects (with a length of 0) and meshes with only one color
 - Browse button didnt work in Molecular Dynamics Simulation dialog
 - Incorrect bond orders and GLN amide group planarity in fragment database
 - PeptideBuilder: Naming of peptides; enabled support for paste in Dialog
 - Opening of files in current directory per command line with BALLView
 - Rendering of Fog
 - Update of Representations after changing Selection color
 - Problems with rendering Labels on Windows and MacOS
 - Problems with Directory and Sysinfo on Windows
 - Problems with ATI graphics cards: Line Models and Polygon Smoothing
 - Minor problems with the clipping planes
 - Minor problems with dashed bonds in the Ball-and-Stick model
 - Missing assignment operator in RotamerLibrary


1.1: 21.06.2005

BALL is now provided under the LGPL and BALLView under the GPL.

The version 1.1 brings support for MacOS X and and a large number of prominent fixes and 
improvements in BALLView. Most of these improvements are related to an improved user 
interface and some new models and animation possibilities.
We also did some features changes related to the Python support.

Added:
  - Support for Darwin (MacOS X), including support for shared libraries and native QT
  - FragmentDatabase
    - added fragments for nucleotides
    - fixed some minor details in other fragments
  - Python support: added more classes to the Python SIP interface
  - Proxy Support for TCP transfers
  - BALLView
		- Documentation for BALLView in the folder BALL/doc/BALLView  
		- Tutorial and demo under Help-menu
		- new models for rendering nucleic acids and for visualizing forces
		- ribbons for Cartoon model
		- usage of OpenGL vertex buffer objects to accelerate display of triangluated surfaces 
		- highlighting of atoms for which the setup of a force field fails
		- improved ball&stick model now renders double-, triple- and aromatic bonds
		- ability to create animations, either as on-screen presentations or for movies
		- OpenGL rendering now allows for depth cueing, material paramters may be adjusted
		- Stereo display using side-by-side mode or shutter glasses
		- Clipping planes
		- support for drag and drop of molecular files and python scripts
		- ability to disable model or coloring updates for a representation
		- spliting surfaces (e.g. to cut out a binding pocket or the like)
		- improved labels for atoms, residues, etc.
		- Esc key now switches to last used mode in Scene
		- Enter key now focus on selection or on first loaded system if no selection exists
		- its now possible to hide secondary structure entries in the MolecularControl
		- history for boolean expressions
		- Python scripting
			- Hotkey support for starting any (BALL-)Python command from BALLView
			- support to quit program from Python interpreter
			- support for starting Python script from command line

Fixed:
  - Several bugfixes in the file formats
  - CygWin support was temporarily broken
  - fixed the Python support to work with an official SIP release (4.1.1)  
  - BALLView
    - (hopefully) no more crashes from MDSimulations and minimizations, when strange energies occur
    - handling of light sources positions
    - selection in MolecularControl with CTRL and SHIFT modifier
    - several problems in Cartoon and Backbone model
    - several problems with POVRay export
    - rendering of two-colored objects, when one part is selected
    - creation of models for multiple selected items
    - "default" button in preferences reset settings of the current tab only
    - multiple loading of the same file will create will result in unique names for the systems
    - molecular dynamics dialog: toggling export to trajectory file was broken
    - ResidueIndexColorProcessor now no longer considers water residues 
    - visualization of contour surfaces had sometimes incorrect normals
    - several core dumps related to missing mutex locks
    - several memory leaks, e.g. in OpenGL renderer
    - problem with linking of C runtime library under windows
    - HBondModel: showed only first H-bond of an atom and had a problem with the normals of the discs

Changed:
  - New license model: BALL is under the LGPL, BALLView under the GPL
  - Improved the Python support, adapted to SIP 4.2.x
  - BALLView
    - General overhaul of the user interface of BALLView
    - improved focus camera on molecular structures
    - insides of surfaces is now correctly drawn
    - PovRay files are now much smaller, especially for meshes and are faster rendered by PovRay
    - improved Backbone and Cartoon model quality by using a triangulated tube model
    - .BALLView config files are now always stored in the users homedir
    - changed coloring or model settings are now visible after pressing apply
    - disabled Server in BALLView by default
    - storing PNG and POV export filenames in config file, so no files will be overwritten by accident


1.0: 24.05.2004

Changed:
  - molview has been renamed to BALLView in order to avoid
    confusion (there are other applications out there with the name molview)
  - default constructor of FragmentDB does no longer open the default
    fragment database. If you want the same behavior as before, simply
    call FragmentDB::init() or use the other constructor with an empty
    string as an argument (e.g. 'FragmentDB db("");').

Added + improved:
  - MOLFile and SDFile are now more robust with respect to slight errors in the
    files
  - Documentation has been added and improved in numerous places
  - Dialog to download and open PDB files directly from www.PDB.org
	- Mouse button emulation in Scene for mice with less than three buttons (e.g. Mac):
    use SHIFT, ALT, CTRL together with the mouse button
	- Mousewheel sensitivity can be adjusted
	- Now using Windows native dialogs on Windows platforms
	- Added capablity to BALLView to log to file

Installation:
  - Additional platform: Mac OS X (Panther)
  - Support for G++ 3.4
  - Windows installer for BALLView and BALL
  - Debian and RPM packages for several Linux distributions

1.0pre2: 20.02.2004
-------------------
Added + improved:
  - All new and shiny: we did a major code overhaul of almost all visualization classes
  - Multi-threaded: you can run MD simulations, energy minimizations in the background, models can be computed in the background
  - Separate widgets for managing structures and representations of structures
  - Mousewheel support, customizable mouse sensitivity
  - All widgets are now dockable
  - OpenGL code has been accelerated significantly
  - Surfaces: computation of solvent-accessible and solvent-excluded surfaces has been accelerated
  - Cartoon model for secondary structures has been added
  - Additional coloring modes (secondary structure, occupancy, ...)
  - Image export to PovRay or as PNG
  -	Simplified enabling/disabling of representations
  -	Peptide builder: construct a peptide/protein from its sequence
  -	Simulations are now possible using AMBER or CHARMM force fields
  -	Replay/animate trajectories
  -	All force field options can now be set through the user interface
  -	Cut and copy of molecular structure and parts of these
  -	Selection of kernel objects with boolean expressions
  -	Improved electrostatics calculations with finite-difference Poisson-Boltzmann solver (FDPB) and visualization of electrostatic potentials (coloring, isopotential surfaces)
  -	Loading of molecules from the command line
  -	Calculation and visualisation of H-bonds
  -	DSSP algorithm for secondary structure determination

1.0pre1: 23.12.2002
-------------------
Additional platform:
  - Windows (Microsoft Visual Studio .NET)

Bugs fixed:
  - several bugs in the kernel
  - PDB reader
  - visualization

Added + improved:
  - faster AMBER force field implementation
  - faster kernel data structures
  - molecular surface computation (really fast now)
  - support for QT 3.0
  - surface computations (including transparent surfaces) in MolView
  - export of MolView scenes to PovRay
  - coloring of surfaces w.r.t. grid data (e.g. elctrostatic potential)


1.0b: 17.01.2002
----------------
Bugs fixed:
	- Lots of stuff in Expression, HINFile, PDBFile
  - some bugs in molview
  - FragmentDB::AddHydrogensProcessor was basically reimplemented
	- clean up of the NMR classes
  - AutoDeletable did not work correctly due to a strange problem with
    multiple inheritance 
  - too many to count everywhere else...

Added + improved:
  - first official support for the Python bindings (still experimental, though)
  - QSAR: a trivial framework for the implementation of molecular descriptors
  - File: allows the expansion of filenames to URLs (again)
  - MDL MOL files and SD files
  - SMILES parser (experimental)
  - several chapters in the tutorial
  - Solvent excluded surface should be *much* faster
  - AMBER force field got some speedup for partially selected structures

Known, but not yet fixed:
  - File and TCPTransfer occasionally show strange baehavior
    when retrieving files via the network
  - XDR support does not work under Tru64/cxx -- call configure with "--without-xdr"
  - String_test is really huge -- some compilers choke on it (internal stack overflow,
    cirtual memory exhausted) -- we can't do much about that...


1.0a BF1: 30.07.2001
--------------------
Bugs fixed:
	- genericPDBFile: assigned incorrect element if the element columns did not
    contain a valid element symbol
  - FileSystem: canonizePath expanded ../../ to .., thus leading to problems with
    relative paths for in File and derived classes (PDBFile, HINFile, etc.)
  - APPLICATIONS/PB: Makefile used incorrect linker options correctly on Tru64
  - configure: did not abort if neither gethostname, nor sysinfo were found 
    (see unfixed bug below)
  - FragmentDB::AddHydrogensProcessor caused a core dump for residues where
    only one reference atom was available (e.g. water)

Known, but not fixed:
  - Expression does not evaluate all bracketed expressions correctly
  - configure causes some problems on Tru64 (fails to find gethostname)
    Workaround: in BALL/source type "touch config/configure.in;make configure" 
      and proceed as usual. The problem is probably somehow caused by some 
			incompatibility between certain autoconf versions and some Tru64 header
      header files, but I couldn't nail it down yet...

Added, changed: 
  - ResidueChecker: checks for overlapping atoms and duplicate atom names in a residue
  - Test for FileSystem
  - Python support functional (though still experimental, requires a patched version of SIP-2.5pre4, available
    from the BALL website). Recommended for seasoned Python veterans only.
  - BALL exceptions are know derived from std::exception
  - added fragment for Zinc (ZN.db)
  - The interface of GeneralException was slightly modified to achieve compatibility
    with the Python wrapper classes
  - The interface of RegularData2D::getMinValue/getMaxValue has changed
  - The interface of Object has changed (ever so slightly)
  - Changed the GridIndex typed of RegularData2D and RegularData3D (towards a more consistent IF)
  - The structure of ResidueChecker was modified to make way for a more modular design
    in the future
 
Additional bugs:
  - no unknown bugs have been found
1.0a (bugfix 1): 30.07.2001
---------------------------
Bugs fixed:
	- genericPDBFile: assigned incorrect element if the element columns did not
    contain a valid element symbol
  - FileSystem: canonizePath expanded ../../ to .., thus leading to problems with
    relative paths for in File and derived classes (PDBFile, HINFile, etc.)
  - APPLICATIONS/PB: Makefile used incorrect linker options correctly on Tru64
  - configure: did not abort if neither gethostname, nor sysinfo were found 
    (see unfixed bug below)
  - FragmentDB::AddHydrogensProcessor caused a core dump for residues where
    only one reference atom was available (e.g. water)

Known, but not fixed:
  - Expression does not evaluate all bracketed expressions correctly
  - configure causes some problems on Tru64 (fails to find gethostname)
    Workaround: in BALL/source type "touch config/configure.in;make configure" 
      and proceed as usual. The problem is probably somehow caused by some 
			incompatibility between certain autoconf versions and some Tru64 header
      header files, but I couldn't nail it down yet...

Added, changed: 
  - ResidueChecker: checks for overlapping atoms and duplicate atom names in a residue
  - Test for FileSystem
  - Python support functional (though still experimental, requires a patched version of SIP-2.5pre4, available
    from the BALL website). Recommended for seasoned Python veterans only.
  - BALL exceptions are know derived from std::exception
  - added fragment for Zinc (ZN.db)
  - The interface of GeneralException was slightly modified to achieve compatibility
    with the Python wrapper classes
  - The interface of RegularData2D::getMinValue/getMaxValue has changed
  - The interface of Object has changed (ever so slightly)
  - Changed the GridIndex typed of RegularData2D and RegularData3D (towards a more consistent IF)
  - The structure of ResidueChecker was modified to make way for a more modular design
    in the future
 

1.0a: 19.07.2001
------------------
  Way to many changes to enumerate here....

0.95a: 05.05.2000
-----------------
		New:
			- tutorial (at least a beginning)
			- support for Tru64 Unix with Compaq C++ 6.2, Solaris 8
			- complete rewrite of the energy minimization part
      - switching functions added for CHARMM and AMBER
			- reaction field energy implemented (Poisson-Boltzmann code)
      - new architecture with better modularity for MolVIEW
			- new example application: PB - Finite Difference Poisson-Boltzmann Solver
      - new website 
      - license terms

		Simplified Handling of torsion angles 
		
		Nearly complete tests and documentation for all mathematical classes
		
		Better testing.
		
		Hundreds of pages of documentation added for the Reference Manual.

		Minor improvements here and there.


0.9a: 18.01.2000
		First public alpha release
