Change Log

mxBeeBase Change Log

The change log includes a detailed description of all changes to this package in the recent releases.
Version: 3.2.7

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 them.

  • 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 recommended).

  • Cleaned up the BeeDict implementations a bit.

  • Changed 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 beedict:'.

Changes from 2.0.0 to 2.0.3:

  • There were no significant changes between 2.0.0 and 2.0.3.