<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
<TT>An alpha release of Elephant 0.6.1 is now available for testing.</TT><BR>
<BR>
<TT>Supported platforms:</TT><BR>
<TT>- SBCL, Allegro, CMU, OpenMCL, Lispworks (build system is not  </TT><BR>
<TT>automated for Windows)</TT><BR>
<TT>- CMU, OpenMCL and Lispworks have not been fully tested and may  </TT><BR>
<TT>require minor bug fixes</TT><BR>
<BR>
<BR>
<TT>DOWNLOAD AND INSTALL:</TT><BR>
<BR>
<TT>The alpha release will only be available via CVS</TT><BR>
<BR>
<TT>        cvs -z3 -d :pserver:anonymous:<A HREF="mailto:anonymous@common-lisp.net">anonymous@common-lisp.net</A>:/project/ </TT><BR>
<TT>elephant/cvsroot checkout -r ELEPHANT-0-6-1-alpha elephant</TT><BR>
<BR>
<TT>This will put the elephant release into the directory: elephant.   </TT><BR>
<TT>Read the INSTALL, UPGRADE and UPGRADE-BDB files for further  </TT><BR>
<TT>instructions.</TT><BR>
<BR>
<BR>
<TT>PURPOSE OF THE ALPHA RELEASE:</TT><BR>
<BR>
<TT>The primary developers do not have ready access to all supported  </TT><BR>
<TT>platforms and would like to ask the community to help validate the  </TT><BR>
<TT>current implementation on other platforms.  We also are using the  </TT><BR>
<TT>alpha to improve up our test suite.  For more details please see the  </TT><BR>
<TT>TODO file.  If you have a favorite feature such as multi-threading,  </TT><BR>
<TT>64-bit, etc., please free to submit a test for the test suite.</TT><BR>
<BR>
<BR>
<TT>NEW FEATURES IN 0.6.1:</TT><BR>
<BR>
<TT>Simplified build and site configuration support</TT><BR>
<TT>- See config.sexp in root directory for site customization (no more  </TT><BR>
<TT>editing code files)</TT><BR>
<TT>- Linux and Mac systems should automatically build libraries when  </TT><BR>
<TT>asdf is called</TT><BR>
<BR>
<TT>64-bit lisps are now supported</TT><BR>
<TT>- 64-bit and 32-bit lisps can read and run off the same database  </TT><BR>
<TT>files (on the same machine)</TT><BR>
<BR>
<TT>Multithreading:</TT><BR>
<TT>- Elephant should now be thread safe, including sharing a single  </TT><BR>
<TT>store-controller across threads</TT><BR>
<TT>- Read comments in src/elephant/transactions.lisp and BDB users  </TT><BR>
<TT>should read src/db-bdb/bdb-transactions.lisp</TT><BR>
<TT>- Improved support for mixing transactions and store-controllers</TT><BR>
<BR>
<TT>Upgrading:</TT><BR>
<TT>- Elephant 0.6.1 can open and directly manipulate 0.6.0 databases</TT><BR>
<TT>- Existing 0.6.0 databases can be upgraded via the 'upgrade' function  </TT><BR>
<TT>which takes</TT><BR>
<TT>- Upgrading is required for 64-bit systems</TT><BR>
<TT>- New serializer-independant metadata should enable future upgrades  </TT><BR>
<TT>easier</TT><BR>
<TT>- NOTE: There may be some problems upgrading SQL databases</TT><BR>
<BR>
<TT>Berkeley DB backend:</TT><BR>
<TT>- BDB 4.5 required (see UPGRADE-BDB)</TT><BR>
<TT>- *auto-commit* is no longer required.  All data access methods auto- </TT><BR>
<TT>commit if there is no active transaction.</TT><BR>
<TT>- store-controller accepts :deadlock-detect keyword (t or nil) which  </TT><BR>
<TT>will run db_deadlock as a background process to abort deadlocked threads</TT><BR>
<TT>- optimize-storage is a new store-controller method currently  </TT><BR>
<TT>supported by BDB backend.  It compacts a whole database or only a  </TT><BR>
<TT>specific BTree and returns free pages to the free list or to the file  </TT><BR>
<TT>system.</TT><BR>
<BR>
<TT>Minor features:</TT><BR>
<TT>- Re-organization to the internal structure in this release:</TT><BR>
<TT>   - Renaming including removing defunct sleepycat naming scheme,  </TT><BR>
<TT>backend packages, etc.</TT><BR>
<TT>   - The serializer was modularized to allow future releases to  </TT><BR>
<TT>change serializer</TT><BR>
<TT>     strategies or implement custom serializers and to be able to  </TT><BR>
<TT>open legacy databases</TT><BR>
<TT>   - Remove various warnings in SBCL build, etc.</TT><BR>
<TT>   - Separated utilities into their own package and directory</TT><BR>
<TT>- Serializer improvements</TT><BR>
<TT>   - 0.6.1 databases can be shared across lisps running on hardware  </TT><BR>
<TT>of the same endianness</TT><BR>
<TT>     (i.e. all x86 platforms or PPC/Alpha, etc)</TT><BR>
<TT>   - Simplified unicode serialization support across all platforms</TT><BR>
<TT>   - Performance improvements in multi-threading situations</TT><BR>
<TT>- Feature :elephant-without-optimize will disable optimization  </TT><BR>
<TT>declarations simplifying debugging</TT><BR>
<TT>- Other fixes and features documented in the TODO file</TT><BR>
<BR>
<TT>Thank you,</TT><BR>
<TT>Ian Eslick and Robert Read</TT><BR>
<TT>Elephant Developers</TT>
</BODY>
</HTML>