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. Seeissue 208 <https://github.com/zopefoundation/ZODB/issues/208>
_.
- ๐ Fix KeyError on releasing resources of a Connection when closing the DB.
This requires at least version 2.4 of the
-
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 <https://github.com/zopefoundation/ZODB/issues/203>
_.โฌ๏ธ Bump the dependency on persistent to at least 4.4.0.
๐ Make the internal support functions for dealing with OIDs (
p64
andu64
) somewhat faster and raise more informative exceptions on certain types of bad input. Seeissue 216 <https://github.com/zopefoundation/ZODB/issues/216>
_.โ Remove support for
python setup.py test
. It hadn't been working for some time. Seeissue #218 <https://github.com/zopefoundation/ZODB/issues/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 fulloid
.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 therelease
method to its base instance. Seeissue 78 <https://github.com/zopefoundation/ZODB/issues/788>
_.๐ 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 aTypeError
. Doing so is not recommended as they cannot be loaded in Python 3.See
issue 179 <https://github.com/zopefoundation/ZODB/pull/179>
_. -
v5.2.4 Changes
May 17, 2017DB.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 <https://github.com/zopefoundation/ZODB/pull/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 <https://github.com/zopefoundation/ZODB/pull/160>
_.
-
v5.2.3 Changes
April 11, 2017- ๐ Fix an import error. See
issue 158 <https://github.com/zopefoundation/ZODB/issues/158>
_.
- ๐ Fix an import error. See
-
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
). Seeissue 155 <https://github.com/zopefoundation/ZODB/issues/155>
_.
- ๐ 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.
-
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 <https://github.com/zodb/relstorage/issues/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. Seeissue 139 <https://github.com/zopefoundation/ZODB/issues/139>
_.persistent
is no longer required at setup time. Seeissue 119 <https://github.com/zopefoundation/ZODB/issues/119>
_.Connection.close
andConnection.open
no longer race onself.transaction_manager
, which could lead toAttributeError
. This was a bug introduced in 5.0.1. Seeissue 142 <https://github.com/zopefoundation/ZODB/pull/143>
_.
- ๐ Call new afterCompletion API on storages to allow them to free
resources after transaction complete.
See