The change log includes a detailed description of all changes to this package in the recent releases.
Changes from 3.1.3 to 3.2.7
Fixed a problem with using larger BeeDict keysizes on 64-bit platforms.
These now work for keysizes between 25 and 659 characters as well. Also
extended the possible keysizes for 32-bit platform to 670 characters. Thanks to Andrey Rzhetsky for pointing us to the problem.
Changes from 3.1.2 to 3.1.3
Fixed a problem with mxBeeBase on BSD-based platforms such as
FreeBSD and Mac OS X: file system synchronization problems between read
and writes could cause data corruption. Thanks to Ernesto Picardi for
bringing this to our attention.
Changes from 3.1.0 to 3.1.2
Added #pragma to disable warnings in mxBeeBase when compiling on Windows.
Changes from 3.0.0 to 3.1.0
Added new BeeFixedLengthStringIndex and associated BeeFixedLengthStringDict which fully use the given keysize.
Changes from 2.0.3 to 3.0.0
Fixed a few minor issues found by PyChecker and some bare
printf()s in the code. Thanks to Andrew Kuchling for pointing me to
Fixed some compiler warnings.
Extended the file lock meachnism so that it also works on Windows.
Thanks to Thomas Heller for the hint to use directories for locking.
Added support for large files. mxBeeBase
should now work with Python versions which have the large file support
enabled (these return longs as file positions).
Fixed a nasty little/native endian bug in BeeStorage. Thanks to Derek Harland.
Renamed 'index' variable used in the C extension to avoid name clash
with an old C API function of the same name. Thanks to Albert
Chin-A-Young for bringin this to my attention.
Added .remove_files() method. Use with care !
Added more tests to mx.BeeBase.mxBeeBase.test.py.
Added auto-configuration of the sector size to BeeStringDict. In
previous versions, this would only handle keys with up to 30 bytes, now
it handles up to 158 bytes per key (even though this is not
Cleaned up the BeeDict implementations a bit.
the way len() is handled. Calling len() on an BeeDict/BeeStringDict
object with uncommitted changes will now trigger an exception. In
previous versions it returned the on-disk size of the dictionary and
omitted the in-memory cache.
Added maxcachesize parameter to
BeeDict/BeeStringDict objects. This lets you set the in-memory cache
size on a per-object basis.
Added new cursor methods .read_value(), .read_item().
Added iterator interfaces to BeeDicts which work in all Python
versions. In Python 2.2 and up, you can also write 'for key, value in
Changes from 2.0.0 to 2.0.3:
There were no significant changes between 2.0.0 and 2.0.3.