<!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>