<!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>Dear Elephant community,</TT><BR>
<BR>
<TT>Robert and I are pleased to announce that a release candidate for  </TT><BR>
<TT>Elephant 0.9 is now available.  See the online announcement at http:// </TT><BR>
<TT><A HREF="http://www.common-lisp.net/project/elephant/news.html">www.common-lisp.net/project/elephant/news.html</A> for details and  </TT><BR>
<TT>pointers to documentation and downloads.</TT><BR>
<BR>
<TT>A quick note on the switch from 0.6.x to 0.9.  With the marked  </TT><BR>
<TT>improvement in stability and the existence of a stable and useful  </TT><BR>
<TT>feature set, we decided to abandon the 0.6.1 release label and change  </TT><BR>
<TT>it to 0.9.  There is a modest set of features remaining to achieve a  </TT><BR>
<TT>1.0 release later this year. These features are recorded as tickets  </TT><BR>
<TT>at the Trac project site. (<A HREF="http://trac.common-lisp.net/elephant">http://trac.common-lisp.net/elephant</A>)</TT><BR>
<BR>
<TT>We do not anticipate any functional changes prior to a formal release  </TT><BR>
<TT>and are confident that databases created with this code base will be  </TT><BR>
<TT>compatible with the final release.  We aim to finalize the release in  </TT><BR>
<TT>the next 1 to 2 weeks after a period of evaluation by the community.</TT><BR>
<BR>
<TT>Features and changes since the Beta 0.6.1 announcement:</TT><BR>
<BR>
<TT>* Mapping operators</TT><BR>
<TT>    o BTrees, BTree indicies, class index and slot/derived indices all</TT><BR>
<TT>      have a map operation</TT><BR>
<TT>    o Enable mapping a function over values and ranges</TT><BR>
<TT>    o Map in both ascending and descending order</TT><BR>
<TT>    o Collect function results into a list</TT><BR>
<TT>    o Efficient stack allocation where appropriate</TT><BR>
<TT>* Persistent sets</TT><BR>
<TT>    o A lighter weight API for persistent collections</TT><BR>
<TT>    o Provides insert, remove, find, map and list operations</TT><BR>
<TT>    o With appropriate methods, makes one to many slots easy to  </TT><BR>
<TT>construct, see</TT><BR>
<TT>      tutorial and user-guide for details.</TT><BR>
<TT>* Complete update and rewrite of the users manual</TT><BR>
<TT>    o All new and up-to-date tutorial</TT><BR>
<TT>    o New section containing more detailed implementation information  </TT><BR>
<TT>for</TT><BR>
<TT>      advanced users</TT><BR>
<TT>    o New sections for prospective data store developers</TT><BR>
<TT>    o Detailed installation instructions (supercedes INSTALL file)</TT><BR>
<TT>    o A list of use case scenarios that should help developers  </TT><BR>
<TT>understand Elephant better</TT><BR>
<TT>    o Much work remains to clean up the manual for 1.0, but the bulk  </TT><BR>
<TT>of the</TT><BR>
<TT>      rewrite is done and we invite comment on what is missing or  </TT><BR>
<TT>unclear.</TT><BR>
<TT>* Feature tweaks</TT><BR>
<TT>    o Drop commands for persistent collections to reclaim storage for  </TT><BR>
<TT>reuse.</TT><BR>
<TT>    o Expanded support for nested aggregates in serializer and  </TT><BR>
<TT>migrate (i.e. an</TT><BR>
<TT>      array of persistent objects will be properly migrated, whereas  </TT><BR>
<TT>before only</TT><BR>
<TT>      btree collections of persistent objects were properly copied).</TT><BR>
<TT>    o Better error handling during object creation, change class  </TT><BR>
<TT>operations, etc.</TT><BR>
<TT>    o Better error checking during cross-store operations.</TT><BR>
<TT>    o Persistent instances passed to print-object print their oid by  </TT><BR>
<TT>default</TT><BR>
<TT>      to create a recognizable signature</TT><BR>
<TT>    o Loading directly via ele-bdb.asd and ele-clsql.asd is now  </TT><BR>
<TT>supported as well</TT><BR>
<TT>      as the 2-phase load</TT><BR>
<TT>    o And many bug fixes...</TT><BR>
<TT>* Performance enhancements</TT><BR>
<TT>    o Option to increase cache size for BDB backend</TT><BR>
<TT>    o Improve contention performance while mapping btrees</TT><BR>
<TT>    o And much more...</TT><BR>
<BR>
<TT>Testing and Platforms:</TT><BR>
<BR>
<TT>Prior to tagging the CVS tree tests were run successfully on the  </TT><BR>
<TT>following configurations.</TT><BR>
<BR>
<TT>Mac OS / Allegro / BDB -- green</TT><BR>
<TT>Mac OS / Allegro / SQlite -- green</TT><BR>
<TT>Mac OS / SBCL / BDB -- green</TT><BR>
<TT>Mac OS / SBCL / SQlite -- green</TT><BR>
<TT>Mac OS / Lispworks / BDB -- green</TT><BR>
<TT>Mac OS / Lispworks / SQLite -- green</TT><BR>
<TT>Mac OS / OpenMCL / BDB -- green (1 failing test -- see errata)</TT><BR>
<TT>Linux / SBCL / BDB -- green</TT><BR>
<TT>Linux / SBCL / SQLite -- green</TT><BR>
<TT>Linux / SBCL / Postgresql -- green</TT><BR>
<TT>Linux / Lispworks / BDB -- green</TT><BR>
<TT>Linux / Lispworks / SQLite -- green</TT><BR>
<TT>Windows / Lispworks / BDB -- green</TT><BR>
<TT>Windows / Lispworks / SQLite -- green</TT><BR>
<TT>Windows / Allegro / BDB -- green</TT><BR>
<TT>Windows / Allegro / SQlite -- green</TT><BR>
<BR>
<TT>(NOTE: Several small changes to the loading process were made after  </TT><BR>
<TT>these tests and only a subset of the platform combinations were  </TT><BR>
<TT>retested after, but this included all OS's and all but OpenMCL.  It  </TT><BR>
<TT>is possible that something slipped through that we will have to fix  </TT><BR>
<TT>in the final release).</TT><BR>
<BR>
<TT>Errata:</TT><BR>
<BR>
<TT>There are only two known issues with this release:</TT><BR>
<BR>
<TT>* OpenMCL 1.0 has 1 known problem: redefinition of classes do not  </TT><BR>
<TT>always result in indices being properly updated.  This results from a  </TT><BR>
<TT>known problem with the OpenMCL 1.0 MOP implementation. No workaround  </TT><BR>
<TT>is currently known, but in practice you can evaluate the defclass  </TT><BR>
<TT>form again and manually call (ccl:finalize-inheritance <pclass>) or  </TT><BR>
<TT>change the indexing state manually using the API. This will probably  </TT><BR>
<TT>not get fixed in this release.</TT><BR>
<BR>
<TT>* The :deadlock-detect option for the BDB data store is not working  </TT><BR>
<TT>in Lispworks.  This will be fixed for the formal release.</TT><BR>
<BR>
<BR>
<TT>Ian Eslick and Robert Read</TT>
</BODY>
</HTML>