Kernel Version 0.10.5 - 15/09/06

This is the Kernel version for the Adun 0.6 release candidate.

	* Improved reference handling in AdModelObject
	* Bug Fixes.


Kernel Version 0.10.4 - 07/08/06

Controller Generated Data Sets.

	* AdunCore now retrieves and returns controller generated data sets to the AdunServer that created it (if any) on exit.
	* Implemented command controllerResults:  which allows the data sets generated by a controller to be retrieved while a simulation is running.
	* Improved code related to creation of  simulation output directories.


Kernel version 0.10.3 - 27/07/06

note: Kernel 0.10.3 is only compatible with Userland versions >  0.52

Model Objects

	* Added a new base class type, AdModelObject - contains functionality to aid storage of subclasses in databases:
	  o Unique ID generation - each instance of an AdModelObject subclass has an associated unique id.
	  o Metadata manipulation methods - addition, removal etc.
	  o Enables subclass instances to record which model objects they were created from and in turn created.
	* New AdModelObject subclass, AdDataSet added. Instances of this class represent a set of related data tables.
	* Current AdModelObject descendants represent systems, options, simulations and data sets.


Other Changes

	* Removed .output postfix from simulation data directories.

	* Various bug fixes


Kernel version 0.10.2 - 21/06/06

Restructuring of Base Libraries

	* Restructured libadun_framework and libadun_components into a framework called AdunKernel.
	* This enables scripting of the AdunKernel classes through StepTalk.
	  o Note: The finalisation of the framework class interfaces and their documentation (task#2987) will make scripting easier and more powerful.


Handling of Multiple Systems

	* Refactored the AdSystemNode class to handle multiple systems and the relationships between them.
	* Includes the ability to handle multiple containers (systems that contain other systems e.g. spheres of water)  with mulitple contents and  to specify wheather systems interact or not on a case by case basis.
	* Updated simulator and force field classes to handle mutiple systems.
	* Note: Use of this functionality in Adun will be the focus of version 0.7


Kernel version 0.10.1 - 23/05/06

System Status

	* AdSystemNode now also tracks the state of each system (task#3253).  A system can be in three states:
	  o Active - All interactions are present.
	  o Passive - Applies forces to other systems but feels none itself.
	  o Inactive - No interactions.


Other Improvements

	* New AdLinkedList class which creates and manages a single linked list.
	* Allows multiple lists to be built in each cell space.
	* Will be used as the basis for increasing Kernel performance in future releases.
	* Fixed bugs preventing correct clean up and deallocing of the Kernel.


Kernel version 0.95 - 12/04/06

This is the Kernel version for Adun 0.5

	* Kernel can now run without requiring any plugins to be installed
	* Refactored and expanded AdController protocol and class.
	* Added MaximumSpaceSize option. This allows early detection of exploding simulations. It restricts the volume of space for the simulation to MaximumSpaceSize³.
	* Expanded ability to deal with exceptions gracefully
	* Bug fixes including critical bug#5724


Kernel version 0.94 - 04/04/06

Improper Torsions

	* Added functions for calculating energy and force due to improper torsions described by a harmonic term. Improper torsions involve atoms with three bonds e.g. sp3 carbons, and act to keep the four atoms in the same plane (trigonal planar) .
	* Added improper torsions to the EnzymixForceField. All simulations will now include this term (see note)
		o note: This does not affect analysis of previous simulations or use of previously saved systems. However any systems created with UL versions less than 0.44 do not include improper torsion information. Hence if you use these systems in a simulation improper torsion forces and energies will not be included.


Kernel version 0.93 - 24/03/06

Bug-Fix release

	* Fixed two critical bugs uncovered by the addition of floating-point error checking in v0.92. This Includes bug#5548 (see the Adun project page)


Kernel version 0.92 - 20/03/06

Improved Handling of Fatal Errors

	* Simulator can now recognise and handle nearly all fatal errors. On identifing a fatal 
	  error the core logs the error, notifies the user (through the interface) and exits
	  gracefully e.g. outputs all information collected before the error occurred etc.
	* Errors reports always include a description of the cause plus a detailed description 
	  and a recovery suggestion if present.
	* Recovery suggestions are given for a certain class of errors that are symptomatic of
	  "exploding" simulations.


Floating Point Error Detection

	* Implemented handling of floating point exceptions as defined by the IEEE 754 standard. 
	  These exceptions relate to calculation errors. They are often caused by "exploding" 
	  simulations.
	* Errors due to dividing by zero, overflow and invalid operations cause the core to 
	  terminate gracefully as described above.
	* Underflow exceptions are logged but do not cause termination.
	* The user can set the interval at which to check for these errors through the
	  CheckFPErrors option (Options->Simulation->General)

