Persistent

Latest version: v6.1

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 8

4.6.4

==================

- Fix an overly specific test failure using zope.interface 5. See
`issue 144 <https://github.com/zopefoundation/persistent/issues/144>`_.
- Fix two reference leaks that could theoretically occur as the result
of obscure errors. See `issue 143 <https://github.com/zopefoundation/persistent/issues/143>`_.

4.6.3

==================

- Fix a crash in the test suite under a 32-bit CPython on certain
32-bit platforms. See `issue 137
<https://github.com/zopefoundation/persistent/issues/137>`_. Fix by
`Jerry James <https://github.com/jamesjer>`_.

4.6.2

==================

- Fix an ``AssertionError`` clearing a non-empty ``PersistentMapping``
that has no connection. See `issue 139
<https://github.com/zopefoundation/persistent/issues/139>`_.

4.6.1

==================

- Stop installing C header files on PyPy (which is what persistent before 4.6.0
used to do), fixes `issue 135
<https://github.com/zopefoundation/persistent/issues/135>`_.

4.6.0

==================

- Fix slicing of ``PersistentList`` to always return instances of the
same class. It was broken on Python 3 prior to 3.7.4.

- Fix copying of ``PersistentList`` and ``PersistentMapping`` using
``copy.copy`` to also copy the underlying data object. This was
broken prior to Python 3.7.4.

- Update the handling of the ``PURE_PYTHON`` environment variable.
Now, a value of "0" requires that the C extensions be used; any other
non-empty value prevents the extensions from being used. Also, all C
extensions are required together or none of them will be used. This
prevents strange errors that arise from a mismatch of Python and C
implementations. See `issue 131 <https://github.com/zopefoundation/persistent/issues/131>`_.

Note that some private implementation details such as the names of
the pure-Python implementations have changed.

- Fix ``PersistentList`` to mark itself as changed after calling
``clear`` (if needed). See `PR 115
<https://github.com/zopefoundation/persistent/pull/115/>`_.

- Fix ``PersistentMapping.update`` to accept keyword arguments like
the native ``UserDict``. Previously, most uses of keyword arguments
resulted in ``TypeError``; in the undocumented and extremely
unlikely event of a single keyword argument called ``b`` that
happens to be a dictionary, the behaviour will change. Also adjust
the signatures of ``setdefault`` and ``pop`` to match the native
version.

- Fix ``PersistentList.clear``, ``PersistentMapping.clear`` and
``PersistentMapping.popitem`` to no longer mark the object as
changed if it was empty.

- Add preliminary support for Python 3.9a3+.
See `issue 124 <https://github.com/zopefoundation/persistent/issues/124>`_.

- Fix the Python implementation of the PickleCache to be able to store
objects that cannot be weakly referenced. See `issue 133
<https://github.com/zopefoundation/persistent/issues/133>`_.

Note that ``ctypes`` is required to use the Python implementation
(except on PyPy).

4.5.1

==================

- Add support for Python 3.8.

- Update documentation to Python 3.

Page 3 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.