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

Changelog History
Page 1

  • v5.6.0

    June 11, 2020
  • v5.5.1 Changes

    October 25, 2018
    • ๐Ÿ›  Fix KeyError on releasing resources of a Connection when closing the DB. This requires at least version 2.4 of the transaction package. See issue 208 <>_.
  • v5.5.0 Changes

    October 13, 2018
    • โž• Add support for Python 3.7.

    • โฌ†๏ธ Bump the dependency on zodbpickle to at least 1.0.1. This is required to avoid a memory leak on Python 2.7. See issue 203 <>_.

    • โฌ†๏ธ Bump the dependency on persistent to at least 4.4.0.

    • ๐Ÿ‘‰ Make the internal support functions for dealing with OIDs (p64 and u64) somewhat faster and raise more informative exceptions on certain types of bad input. See issue 216 <>_.

    • โœ‚ Remove support for python test. It hadn't been working for some time. See issue #218 <>_.

    • โœ… Make the tests run faster by avoiding calls to time.sleep().

  • v5.4.0 Changes

    March 26, 2018
    • ZODB now uses pickle protocol 3 for both Python 2 and Python 3.

    (Previously, protocol 2 was used for Python 2.)

    The zodbpickle package provides a zodbpickle.binary string type that should be used in Python 2 to cause binary strings to be saved in a pickle binary format, so they can be loaded correctly in Python 3. Pickle protocol 3 is needed for this to work correctly.

    • Object identifiers in persistent references are saved as zodbpickle.binary strings in Python 2, so that they are loaded correctly in Python 3.

    • If an object is missing from the index while packing a FileStorage, report its full oid.

    • Storage imports are a bit faster.

    • ๐Ÿ‘€ Storages can be important from non-seekable sources, like file-wrapped pipes.

  • v5.3.0 Changes

    August 30, 2017
    • โž• Add support for Python 3.6.

    • โฌ‡๏ธ Drop support for Python 3.3.

    • ๐Ÿš€ Ensure that the HistoricalStorageAdapter forwards the release method to its base instance. See issue 78 <>_.

    • ๐Ÿ‘‰ Use a higher pickle protocol (2) for serializing objects on Python 2; previously protocol 1 was used. This is much more efficient for new-style classes (all persistent objects are new-style), at the cost of being very slightly less efficient for old-style classes.

    .. note:: On Python 2, this will now allow open file objects (but not open blobs or sockets) to be pickled (loading the object will result in a closed file); previously this would result in a TypeError. Doing so is not recommended as they cannot be loaded in Python 3.

    See issue 179 <>_.

  • v5.2.4 Changes

    May 17, 2017
    • DB.close now explicitly frees internal resources. This is helpful to avoid false positives in tests that check for leaks.

    • โšก๏ธ Optimize getting the path to a blob file. See issue 161 <>_.

    • ๐Ÿ’… All classes are new-style classes on Python 2 (they were already new-style on Python 3). This improves performance on PyPy. See issue 160 <>_.

  • v5.2.3 Changes

    April 11, 2017
    • ๐Ÿ›  Fix an import error. See issue 158 <>_.
  • v5.2.2 Changes

    April 11, 2017
    • ๐Ÿ›  Fixed: A blob misfeature set blob permissions so that blobs and blob directories were only readable by the database process owner, rather than honoring user-controlled permissions (e.g. umask). See issue 155 <>_.
  • v5.2.1 Changes

    April 08, 2017
    • ๐Ÿ›  Fixed: When opening FileStorages in read-only mode, non-existent files were silently created. Creating a read-only file-storage against a non-existent file errors.
  • v5.2.0 Changes

    February 09, 2017
    • ๐Ÿ†“ Call new afterCompletion API on storages to allow them to free resources after transaction complete. See issue 147 <>__.
    • Take advantage of the new transaction-manager explicit mode to avoid starting transactions unnecessarily when transactions end.

    • Connection.new_oid delegates to its storage, not the DB. This is helpful for improving concurrency in MVCC storages like RelStorage. See issue 139 <>_.

    • persistent is no longer required at setup time. See issue 119 <>_.

    • Connection.close and no longer race on self.transaction_manager, which could lead to AttributeError. This was a bug introduced in 5.0.1. See issue 142 <>_.