Persistent

Latest version: v5.2

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

Scan your dependencies

Page 4 of 7

4.4.2

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

- Explicitly use unsigned constants for packing and unpacking C
timestamps, fixing an arithmetic issue for GCC when optimizations
are enabled and ``-fwrapv`` is *not* enabled. See `issue 86
<https://github.com/zopefoundation/persistent/issues/86>`_.

4.4.1

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

- Fix installation of source packages on PyPy. See `issue 88
<https://github.com/zopefoundation/persistent/issues/88>`_.

4.4.0

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

- Use unsigned constants when doing arithmetic on C timestamps,
possibly avoiding some overflow issues with some compilers or
compiler settings. See `issue 86
<https://github.com/zopefoundation/persistent/issues/86>`_.

- Change the default representation of ``Persistent`` objects to
include the representation of their OID and jar, if set. Also add
the ability for subclasses to implement ``_p_repr()`` instead of
overriding ``__repr__`` for better exception handling. See `issue 11
<https://github.com/zopefoundation/persistent/issues/11>`_.

- Reach and maintain 100% test coverage.

- Simplify ``__init__.py``, including removal of an attempted legacy
import of ``persistent.TimeStamp``. See `PR 80
<https://github.com/zopefoundation/persistent/pull/80>`_.

- Add support for Python 3.7 and drop support for Python 3.3.

- Build the CFFI modules (used on PyPy or when PURE_PYTHON is set) `at
installation or wheel building time
<https://cffi.readthedocs.io/en/latest/cdef.html#ffibuilder-set-source-preparing-out-of-line-modules>`_
when CFFI is available. This replaces `the deprecated way
<https://cffi.readthedocs.io/en/latest/overview.html#abi-versus-api>`_
of building them at import time. If binary wheels are distributed,
it eliminates the need to have a functioning C compiler to use PyPy.
See `issue 75
<https://github.com/zopefoundation/persistent/issues/75>`_.

- Fix deleting the ``_p_oid`` of a pure-Python persistent object when
it is in a cache.

- Fix deleting special (``_p``) attributes of a pure-Python persistent
object that overrides ``__delattr__`` and correctly calls ``_p_delattr``.

- Remove some internal compatibility shims that are no longer
necessary. See `PR 82 <https://github.com/zopefoundation/persistent/pull/82>`_.

- Make the return value of ``TimeStamp.second()`` consistent across C
and Python implementations when the ``TimeStamp`` was created from 6
arguments with floating point seconds. Also make it match across
trips through ``TimeStamp.raw()``. Previously, the C version could
initially have erroneous rounding and too much false precision,
while the Python version could have too much precision. The raw/repr
values have not changed. See `issue 41
<https://github.com/zopefoundation/persistent/issues/41>`_.

4.3.0

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

- Fix the possibility of a rare crash in the C extension when
deallocating items. See https://github.com/zopefoundation/persistent/issues/66

- Change cPickleCache's comparison of object sizes to determine
whether an object can go in the cache to use ``PyObject_TypeCheck()``.
This matches what the pure Python implementation does and is a
stronger test that the object really is compatible with the cache.
Previously, an object could potentially include ``cPersistent_HEAD``
and *not* set ``tp_base`` to ``cPersistenceCAPI->pertype`` and still
be eligible for the pickle cache; that is no longer the case. See
`issue 69 <https://github.com/zopefoundation/persistent/issues/69>`_.

4.2.4.2

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

- Packaging-only release: fix Python 2.7 ``manylinux`` wheels.

4.2.4.1

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

- Packaging-only release: get ``manylinux`` wheel built automatically.

Page 4 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.