Hi David, Where can I check out the current developing verion? Thanks. - yzhang On Mon, Apr 7, 2008 at 6:36 PM, Binger Davidwrote: > > On Apr 7, 2008, at 3:58 AM, Yong Zhang wrote: > > Hi, Developers, > > > > I read the mails in this list, and find there are some bugs in Durus, > > especially in Windows version. > > > > I just want to know: when the next release come out. And, is the project > > still alive? > > > > Hi. > > This project is still very much alive and we expect to get a release out > in the next few months. Here is the current changelog we're working > with now for the next release, which will be version 3.8. There are > no known bugs in the development version, but testing of this version > has only been on Linux and OS X so far. > > ----- > > Revise all code so that it is functional in both python 2 and python 3. > Note that this has not been tested much in python 3. The python 3 > pickler code is a little different, so databases made with python 2 will > require conversion before they can work with python 3. We've > added a script for this conversion. > > This release requires Python version 2.4 or later. > > Implement call_if_persistent and use it to guard calls to persistent_id() > during pickling. In one benchmark, this reduces commit() CPU time by 50%. > > Make ShelfStorage the default FileStorage implementation. > The FileStorage2 implementation is supported in this release, > but deprecated. > To convert formats, use "python shelf.py old.durus new.durus". > > Add BTree.get_depth() and BTree.get_node_count() so that it is possible > to know something of the dimensions of a given BTree. > > Add BTree.set_bnode_minimum_degree() so that you control the depth of a > BTree. > > Add Cache.__iter__(), so that it is easier to examine the objects > currently > in the cache. > > Implement __eq__() and __ne__() for PersistentDict, but remove __cmp__(). > Drop support for comparing a PersistentDict to a plain dict. > > Instead of using a set for recent_objects, use a special > ReferenceContainer class. This removes the necessity for > persistent instances to be hashable. > > Remove the time-travel Connection from Durus. > > Add BitArray.items() > Add Byte.byte() > Remove ByteArray.__str__(). > > Add byte_string to utils. > Add join_bytes(), empty_byte_string, and as_bytes() to utils. > Make write() call as_bytes() on the argument so that write(f, 'foo') > works in python 2 and python 3. > Add write_all() to utils so that callers don't need to concatenate > their arguments. > > Add a flush() after every write() on Windows. > This appears to fix a problem that shows up when using ShelfStorage. > The problem was detected and fixed by Matthew Scott. Thanks. > Also change the nt implemention of obtain lock so that failure > to obtain a lock raises an IOError, as on other systems, instead > of a pywintypes.error. > > Patch imports to work on nt. Posted by Sergio Alvarez. > > Fix bug in FileStorage constructor that would prevent a file from > being opened as readonly when another process has it open readwrite. > > Add Shelf.items(). > > Remove Storage.get_size(), FileStorage2.get_size(). > > Remove support for calling _p_note_change() by assigning to > the "_p_changed" attribute. If your code uses the attribute-setting > style, it should be updated to just call the method directly. > The attribute-setting notation is riskier because you may set the wrong > attribute, or set the right attribute on a non-persistent object, > and get unexpected results. > >