[ANNOUNCE] e4Graph 1.0a11

Jacob Levy jylevy@pacbell.net
Tue, 09 Mar 2004 05:09:12 GMT


I am pleased to announce the 1.0a11 release of e4Graph, the eleventh 
Alpha release. This is definitely the final Alpha release for 1.0, the 
next release is 1.0b1.

WHAT IS IT:

e4Graph is a C++ library with a Python binding, that allows programs to 
store graph-like data persistently and to access and manipulate that 
data efficiently. With e4Graph, you can arrange your data in the most 
natural form that reflects the relationships between its parts, rather 
than having to force it into a table-like format. The e4Graph library 
also allows you to concentrate on the relationships you want to 
represent, and not on how to store them in a database. You can modify 
data items, and add and remove connections and relationships between 
pieces of data on the fly. e4Graph allows you to represent an unlimited 
number of different connections between pieces of data, and your program 
can selectively manipulate the data according to the relationships it 
cares about, not having to know about other connections represented in 
the data set. The e4Graph package also provides bindings in several 
other languages, currently Tcl, Python and Java, and allows input/output 
of object graphs via an XML representation.

The e4Graph package is built on top of Metakit 2.4.9.2, and optionally
uses Tcl 8.4.4, Python 2.2.3, Java 1.1 or later, and Expat 1.95.7.

WHERE TO GET:

Downloads: http://sourceforge.net/projects/e4graph/
Homepage: http://www.e4graph.com/e4graph/
Changelog: http://www.e4graph.com/e4graph/changes.txt
Installation: http://www.e4graph.com/e4graph/e4install.html

WHAT IS NEW:

I decided to skip 1.0a10 since Daniel Steffen released AquaTclBI for
MacOS 10.x which contained a snapshot of the CVS repository and called
that "e4graph 1.0a10". This way we avoid confusion between two
different sourcebases; the 1.0a10 code in AquaTclBI contains several
bugs that are fixed in this release.

This release is mainly a bug-fix release. Several bugs related to
vertex movement were fixed, and the semantics of vertex addressing and
movement have been normalized. Several uses of uninitialized variables
were fixed to eliminate random incorrect behaviors. Made callbacks
behave more consistently. A bug where a storage was incorrectly being
marked as unstable was fixed.

A new timestamp mechanism was added to allow applications to poll for
events instead of installing callbacks. Several new permissions were
added to allow fine control over what a user program can do with a
storage. The semantics of vertex and node detach callbacks were
changed to be asynchronous, and the timestamp at which a node or
vertex detach is recorded is arbitrarily later than the time at which
the action actually occurs. A mechanism was added to allow a user
program to control whether vertices are cached, to speed up lookup.