An alpha release of Elephant 0.6.1 is now available for testing.

Supported platforms:
- SBCL, Allegro, CMU, OpenMCL, Lispworks (build system is not 
automated for Windows)
- CMU, OpenMCL and Lispworks have not been fully tested and may 
require minor bug fixes


DOWNLOAD AND INSTALL:

The alpha release will only be available via CVS

        cvs -z3 -d :pserver:anonymous:anonymous@common-lisp.net:/project/
elephant/cvsroot checkout -r ELEPHANT-0-6-1-alpha elephant

This will put the elephant release into the directory: elephant.  
Read the INSTALL, UPGRADE and UPGRADE-BDB files for further 
instructions.


PURPOSE OF THE ALPHA RELEASE:

The primary developers do not have ready access to all supported 
platforms and would like to ask the community to help validate the 
current implementation on other platforms.  We also are using the 
alpha to improve up our test suite.  For more details please see the 
TODO file.  If you have a favorite feature such as multi-threading, 
64-bit, etc., please free to submit a test for the test suite.


NEW FEATURES IN 0.6.1:

Simplified build and site configuration support
- See config.sexp in root directory for site customization (no more 
editing code files)
- Linux and Mac systems should automatically build libraries when 
asdf is called

64-bit lisps are now supported
- 64-bit and 32-bit lisps can read and run off the same database 
files (on the same machine)

Multithreading:
- Elephant should now be thread safe, including sharing a single 
store-controller across threads
- Read comments in src/elephant/transactions.lisp and BDB users 
should read src/db-bdb/bdb-transactions.lisp
- Improved support for mixing transactions and store-controllers

Upgrading:
- Elephant 0.6.1 can open and directly manipulate 0.6.0 databases
- Existing 0.6.0 databases can be upgraded via the 'upgrade' function 
which takes
- Upgrading is required for 64-bit systems
- New serializer-independant metadata should enable future upgrades 
easier
- NOTE: There may be some problems upgrading SQL databases

Berkeley DB backend:
- BDB 4.5 required (see UPGRADE-BDB)
- *auto-commit* is no longer required.  All data access methods auto-
commit if there is no active transaction.
- store-controller accepts :deadlock-detect keyword (t or nil) which 
will run db_deadlock as a background process to abort deadlocked threads
- optimize-storage is a new store-controller method currently 
supported by BDB backend.  It compacts a whole database or only a 
specific BTree and returns free pages to the free list or to the file 
system.

Minor features:
- Re-organization to the internal structure in this release:
   - Renaming including removing defunct sleepycat naming scheme, 
backend packages, etc.
   - The serializer was modularized to allow future releases to 
change serializer
     strategies or implement custom serializers and to be able to 
open legacy databases
   - Remove various warnings in SBCL build, etc.
   - Separated utilities into their own package and directory
- Serializer improvements
   - 0.6.1 databases can be shared across lisps running on hardware 
of the same endianness
     (i.e. all x86 platforms or PPC/Alpha, etc)
   - Simplified unicode serialization support across all platforms
   - Performance improvements in multi-threading situations
- Feature :elephant-without-optimize will disable optimization 
declarations simplifying debugging
- Other fixes and features documented in the TODO file

Thank you,
Ian Eslick and Robert Read
Elephant Developers