All Versions
Latest Version
Avg Release Cycle
79 days
Latest Release
903 days ago

Changelog History
Page 3

  • v5.0.0.a1 Changes

    June 20, 2016

    Major internal implementation changes to the Multi Version Concurrency Control (MVCC) implementation:

    • For storages that implement IMVCCStorage (RelStorage), no longer implement MVCC in ZODB.

    • For other storages, MVCC is implemented using an additional storage layer. This underlying layer works by calling loadBefore. The low-level storage load method isn't used any more.

    This change allows server-based storages like ZEO and NEO to be implemented more simply and cleanly.

  • v4.4.5

    February 06, 2017
  • v4.4.3 Changes

    August 04, 2016
    • ๐Ÿ›  Internal FileStorage-undo fixes that should allow undo in some cases where it didn't work before.

    • ๐Ÿ–จ fstail: print the txn offset and header size, instead of only the data offset. fstail can now be used to truncate a DB at the right offset.

  • v4.4.2 Changes

    July 08, 2016

    ๐Ÿ‘ Better support of the new commit protocol. This fixes issues with blobs and ๐Ÿ‘€ undo. See pull requests #77, #80, #83

  • v4.4.1 Changes

    July 01, 2016

    โž• Added IMultiCommitStorage to directly represent the changes in the 4.4.0 ๐Ÿš€ release and to make complient storages introspectable.

  • v4.4.0 Changes

    June 30, 2016

    ๐Ÿš€ This release begins evolution to a more effcient commit protocol that ๐Ÿ‘ allows storage implementations, like NEO <>_, ๐Ÿ‘ to support multiple transactions committing at the same time, for greater write parallelism.

    ๐Ÿš€ This release updates IStorage:

    • The committed transaction's ID is returned by tpc_finish, rather than being returned in response store and tpc_vote results.

    • tpc_vote is now expected to return None or a list of object ids for objects for which conflicts were resolved.

    ๐Ÿš€ This release works with storages that implemented the older version of ๐Ÿ‘ the storage interface, but also supports storages that implement the โšก๏ธ updated interface.

  • v4.3.1 Changes

    June 06, 2016
    • ๐Ÿ›  Fixed: FileStorage loadBefore didn't handle deleted/undone data correctly.
  • v4.3.0 Changes

    May 31, 2016
    • โฌ‡๏ธ Drop support for Python 2.6 and 3.2.

    • ๐Ÿ‘‰ Make the zodbpickle dependency required and not conditional. This fixes various packaging issues involving pip and its wheel cache. zodbpickle was only optional under Python 2.6 so this change only impacts users of that version. See

    • โž• Add support for Python 3.5.

    • Avoid failure during cleanup of nested databases that provide MVCC on storage level (Relstorage).

    • โœ‚ Remove useless dependency to zdaemon in Remove ZEO documentation. Both were leftovers from the time where ZEO was part of this repository.

    • ๐Ÿ›  Fix possible data corruption after FileStorage is truncated to roll back a transaction.

    • ๐Ÿ‘ DemoStorage: add support for conflict resolution and fix history()

    • ๐Ÿ›  Fixed a test that depended on implementation-specific behavior in tpc_finish

  • v4.2.0 Changes

    June 02, 2015
  • v4.2.0.b1 Changes

    May 22, 2015
    • ๐Ÿ‘€ Log failed conflict resolution attempts at DEBUG level. See:

    • ๐Ÿ›  Fix command-line parsing of --verbose and --verify arguments. (The short versions, -v and -V, were parsed correctly.)

    • โž• Add support for PyPy.

    • ๐Ÿ›  Fix the methods in ZODB.serialize that find object references under Python 2.7 (used in scripts like referrers, netspace, and fsrecover among others). This requires the addition of the zodbpickle dependency.

    • FileStorage: fix an edge case when disk space runs out while packing, do not leave the .pack file around. That would block any write to the to-be-packed Data.fs, because the disk would stay at 0 bytes free. See