1.0-b8 (2009-05-03)
-------------------

-Enhancements, new features and major changes
o API: Added NeoService.getAllNodes for iterating across the entire node space
  and getRelationshipTypes() to get all reltypes in the underlying store.
o Core: Added logical log rotation and online-backup core features.
o Core: Reduced memory footprint and object allocation.
o Core: Moved all constraint checks to nioneo resulting in performance increase.
o Core: Improved traversal speed reworking set oriented caches to use arrays.

-Smaller enhancements, changes and tweaks
o API: Added a convenience implementation ofRelationshipType for dynamically
  created and named relationship types: DynamicRelationshipType.
o API: Deprecated PropertyContainer.getPropertyValues() to be removed in later
  releases.
o Core: Removed event manager dependency since it needs a rewrite (event
  generation still to be completely specified).
o Core: Transaction events have been removed, need proper specification.
o Core: Removed read lock on loading of non-cached node/relationship,
  replaced with reentrant lock stripe.
o Core: Persistence row windows in nioneo now only load data if acquired for 
  read operation.
o Core: Upgraded to JTA 1.1
o Core: Improved some error messages.
o Core: EmbeddedNeo.toString now reports object id and neo store path.
o Core: Cleaned up logging messages during recovery.
o Core: Increased default block size for string and array stores to better
  fit avg. data sets out there.

-Bug fixes
o Core: Fixed missing close on TM's active log file.
o Core: A bug with copy on write "diff" maps that could cause wrong cached value 
  to be read (for both properties and relationships) has been fixed.
o Core: Fixed an issue with non committed properties/relationships
  modifications leaking to other transactions (in cache layer during cache 
  resize).
o Core: Fixed bug in property index manager that could cause created index
  not to be published at the right time.
o Core: Fixed bug that allowed for relationship/property loads on deleted
  node (in same tx).
o Core: Fixed some bugs caused by use of JTA tx synchronization hooks (we can't 
  use them when ordering is required).
o Core: Fixed bug with relationship type store not handling "holes" correctly.
o Core: Fixed problem with multiple calls to close() on XaDataSources
o Core: Removed use IOException( Throwable ) since it is not in Java 1.5
o Core: Parsing of memory mapped settings can now handle G (1024*1024*1024).
o Core: Fixed silent catch of NotFoundException in traverser implementation.

-Notes
o Testing on Windows Vista platform has revealed a strange performance
  degradation for b8 that we've yet to find the cause of. The problem becomes
  more visible when running many concurrent transactions/threads hammering
  requests to Neo (10x performance decrease has been observed on same hardware).
  For production systems we recommend using GNU Linux or Solaris OS with Sun's
  1.6 JVM for best performance.

1.0-b7 (2008-09-29)
------------------

o API: Removed a number of deprecated methods (primarily for relationship type
  management) from EmbeddedNeo as per warning in the previous release.
o API: Transaction is now an interface.
o API: TraversalPosition now has an isStartNode() method.
o API: NotFound and NotInTransaction runtime exceptions have been moved from
  internal impl package to the api package.
o API: getRelationshipById is now exposed in NeoService.
o API: A common base interface for Node and Relationship has been added that
  contains the set/get/remove property operations.
o Core: Made it easy to embed Neo4j in a Spring application. Spring can also be 
  configured to use Neo4j's transaction manager.
o Core: All known bugs have been fixed.
o Core: Removed singletons and made everything IoC.
o Core: Lots of minor optimization and improvements above native store
  layer (nioneo).
o Core: Cleanup of code (removed non used code) and improved exception handling.
o Core: Improved read performance and parallelism by implementing MVCC-like 
  features. No locks are now taken during read-only operations, instead
  concurrent operations are working against snapshot versions. Rather than full
  versioning, for higher performance diffs are kept and applied to the right
  transactions (those that have modified data). Result is that read operations
  will execute taking no locks, make full use of what has already been cached
  and can execute concurrently with a transaction that modify the same data.
  Write operations will take locks and use diffs instead of full copy on write
  (this proved to be faster and scale better than actually doing a in memory
  copy of the required data).


1.0-b6 (2007-11-19)
-------------------

o API: Added a NeoService interface that EmbededNeo implements. Left a number
  of methods in EmbeddedNeo for backwards compatibility. They will be removed
  the next release.
o API: Changed relationship types to be dynamic, i.e. created in underlying
  store when they are first used. This means that clients won't have to
  register them with EmbeddedNeo at startup.
o API: The semantics of relationship type equivalence has changed from being
  based strictly on object identity to being based on name() equality.
o API: A a new method isType() has been added to Relatinship. Due to the less
  intuitive ways to check reltype equivalence, it's the prefered way to check
  whether a relationship is of a particular type.
o API: Added convenience methods hasRelationship(...) to Node.
o API: Added a convenience method notStartNode() to TraversalPositions to
  clean up the code (less cumbersome null-checks for edge cases) for evaluator
  implementations.
o Shell: Now detects and lists all available commands dynamically.
o Shell: Integration with Groovy for easy evaluation of Groovy scripts.
o Shell: Now auto-reconnects to server.
o Shell: Polish like cleaner output, filters to ls and bash-style prompt with
  variable expansion.
o Core: Lots of performance tweaks and improvements.
o Core: The internal version of the datastores have been changed. This release
  will transparently upgrade old versions of the store files so there's nothing
  manual involved. But after that, previous releases of Neo won't be able to
  read the store files.
o Core: Testing and robustification on Windows.
o Core: Now fully supports array properties for all primitives and Strings.
