diff --git a/CHANGES.txt b/CHANGES.txt
index 29cf632..5e5d769 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,17 +1,56 @@
-Changes in 0.9
-==============
 
- o added Preferences implementation for system settings (user Prefs not done)
- o added support for JNDI state factories and object factories
- o added schema support for object and state factories - plugin is prep'd for
+NOTE:  Regarding ApacheDS Releases
+
+  We use even minor numbers to denote stable releases and release branches 
+  where new features are not added but only bug fixes are made.  Odd numbered
+  releases and branches are for experimental feature release branches of which
+  several releases may occur.  For example after 0.9 below there may be 0.9.1,
+  0.9.2 ... 0.9.n et. cetera. until there is a feature freeze and a stable
+  release is created like 0.10.
+
+Changes in 0.9 (since 0.8)
+==========================
+
+ o Added Preferences implementation for system settings (user Prefs not done)
+ o Added support for JNDI state factories and object factories
+ o Added schema support for object and state factories - plugin is prep'd for
    generating these from schema definitions and domain models: code to do this
    just needs to be added.
- o added factory.hints property to help drive the selection of a object
+ o Added factory.hints property to help drive the selection of a object
    factory when there are multiple alternatives
- o added Authenticator (thanks to Endi)
- o added support for multiple types of backends (thanks to Endi)
- o removed apseda and using new network layer, MINA
- o revamped interceptor factory: interceptors easier to manage and to add
-   custom interceptors.  Design is similar to filter chaining.
- o several performance improvements
- o refactored and cleaned up APIs in general
+ o Added Authenticator (thanks to Endi)
+ o Added support for multiple types of custom backends (thanks to Endi)
+ o 0.9 now uses MINA instead of apseda for massive performance and concurrency
+   gains.  MINA is the network layer for Apache Directory.
+ o Revamped interceptor factory: interceptors easier to manage and to add
+   custom interceptors.  Design is similar to filter chaining.  Excellent 
+   feature that makes extending and configuring interceptors for the server
+   a breeze.
+ o Several performance improvements
+ o Refactored and cleaned up APIs in general
+ o Several documentation improvements were made with slight revamp and the
+   addition of docs for new features
+ o Perhaps the latest most exciting feature is the addition of the Kerberos 
+   provider plugin which is a full Kerberos V service listening by default on
+   port 88.  The plugin uses the Directory Network layer (MINA) to service
+   UDP and TCP requests to the KDC and it uses the ApacheDS DIT to store its 
+   entires without any netork latency or unnecessary security exposure.  
+ o Fixed bugs with filter parser in LDAP common affecting server
+ o Fixed issues with authenticating to server
+ o Corrected broken simple authentication and annonymous binds
+ o Cleaned up user partition creation and configurationn
+ o Created and added better user and developer guide information
+ o Corrected case problems with attribute type names
+ o Added proper ou=schema presentation of schema objects
+ o Added Samba schema
+ o Created and added new distinguished name normalized
+ o Added DHCP schema
+ o Fixed bug when trying to shutdown the server via JNDI
+ o Changed package structure to accomodate growth better
+ o We now try to take next available port if user does not have access rights
+   for 389 or the alt port specified is already in use
+ o Moved logic to start up LDAP and Kerberos providers out into main
+   subproject, leaving a new base class for a context factory implementation
+   called the CoreContextFactory
+ o Exited incubator so all groupIds were finalized
+ o Rearranged the SVN repository to reflect better project demarcations
