File python-persistent.changes of Package python-persistent

Thu Mar 26 07:39:16 UTC 2020 - Tomáš Chvátal <>

- Add patch to fix build with new zope.interface:
  * tests.patch

Tue Mar 24 12:41:57 UTC 2020 -

- version update to 4.6.3
  - Fix a crash in the test suite under a 32-bit CPython on certain
    32-bit platforms. See `issue 137
    <>`_. Fix by
    `Jerry James <>`_.
  - Fix an ``AssertionError`` clearing a non-empty ``PersistentMapping``
    that has no connection. See `issue 139

Thu Mar 12 11:54:12 UTC 2020 - Marketa Calabkova <>

- update to 4.6.1
  * Stop installing C header files on PyPy
  * Fix slicing of PersistentList to always return instances of the same class.
  * Fix copying of PersistentList and PersistentMapping using copy.copy 
    to also copy the underlying data object.
  * Update the handling of the PURE_PYTHON environment variable.
  * Add preliminary support for Python 3.9a3+.
  * Fix the Python implementation of the PickleCache to be able to 
    store objects that cannot be weakly referenced. 
  * Add support for Python 3.8.

Mon May 20 15:50:31 UTC 2019 -

- version update to 4.5.0
  - Fully test the C implementation of the PickleCache, and fix
    discrepancies between it and the Python implementation:
  - Allow sweeping cache without ``cache_size``. ``cache_size_bytes``
    works with ``cache_size=0``, no need to set ``cache_size`` to a
    large value.
  - Require ``CFFI`` on CPython for pure-Python operation. This drops
    support for Jython (which was untested). See `issue 77
  - Fix DeprecationWarning about ``PY_SSIZE_T_CLEAN``.
    See `issue 108 <>`_.
  - Drop support for Python 3.4.
- deleted patches
  - persistent- (not needed)

Tue Mar  5 12:14:02 UTC 2019 - Hans-Peter Jansen <>

- Allow build with older distributions
  (%autopatch macro needs an appended empty line)
- Refresh patch persistent-

Mon Mar  4 14:18:11 UTC 2019 - Tomáš Chvátal <>

- Update to 4.4.3:
  * Too many changes around see CHANGES.rst
- Do not bother with documentation generating
- Add more dependencies

Tue Aug 14 14:55:56 UTC 2018 -

- Update to 4.3.0:
    * Fix the possibility of a rare crash in the C extension when
      deallocating items. See
    * 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

Thu Jul 26 08:35:19 UTC 2018 -

- Do not restrict python version makes stuff very unresolvable

Thu Jul 19 15:33:04 UTC 2018 -

- Clean up SPEC
- Fix tests (persistent- removes failing

Sat Jun 24 11:10:40 UTC 2017 -

- Update to
  * Packaging-only release: fix Python 2.7 manylinux wheels.
  * Packaging-only release: get manylinux wheel built 
  * Avoid raising a SystemError: error return without exception 
    set when loading an object with slots whose jar generates an 
    exception (such as a ZODB POSKeyError) in setstate.
  * Fix the hashcode of Python TimeStamp objects on 64-bit 
    Python on Windows. See
  * Stop calling gc.collect every time PickleCache.incrgc is 
    called (every transaction boundary) in pure-Python mode (PyPy). 
    This means that the reported size of the cache may be wrong 
    (until the next GC), but it is much faster. This should not
    have any observable effects for user code.
  * Stop clearing the dict and slots of objects added to 
    PickleCache.new_ghost (typically these values are passed to 
    __new__ from the pickle data) in pure-Python mode (PyPy). This
    matches the behaviour of the C code.
  * Add support for Python 3.6.
  * Fix __setstate__ interning when state parameter is not a 
    built-in dict
  * Drop use of ctypes for determining maximum integer size, to 
    increase pure-Python compatibility. See
  * Ensure that __slots__ attributes are cleared when a 
    persistent object is ghostified. (This excluses classes that
    override __new__. See
    new_and_slots if you’re curious.)
  * Fix the hashcode of C TimeStamp objects on 64-bit Python 3 
    on Windows.
  * Fixed the Python(/PYPY) implementation TimeStamp.timeTime 
    method to have subsecond precision.
  * When testing PURE_PYTHON environments under tox, avoid 
    poisoning the user’s global wheel cache.
  * Add support for Python 3.5.
  * Drop support for Python 2.6 and 3.2.
  * Fix manifest and re-upload to fix stray files included in 
  * Make the Python implementation of Persistent and PickleCache 
    behave more similarly to the C implementation. In particular, 
    the Python version can now run the complete ZODB and ZEO test 
  * Fix the hashcode of the Python TimeStamp on 32-bit platforms.

- Converted to single-spec

- Dropped fix_32-bit_timestamp_hashcode.patch (fixed upstream)

Sun May 10 19:46:51 UTC 2015 -

- update to version 4.0.9:
  * Make the C and Python TimeStamp objects behave more alike
  * Intern keys of object state in __setstate__ to reduce memory
    usage when unpickling multiple objects with the same attributes
  * Add support for PyPy3
  * 100% branch coverage
- additional changes from version 4.0.8:
  * Add support for Python 3.4
  * In pure-Python Persistent, avoid loading state in _p_activate
    for non-ghost objects (which could corrupt their state). (PR #9)
  * In pure-Python, and don’t throw POSKeyError if _p_activate is
    called on an object that has never been committed. (PR #9)
  * In pure-Python Persistent, avoid calling a subclass’s
    __setattr__ at instance creation time. (PR #8)
  * Make it possible to delete _p_jar / _p_oid of a pure-Python
    Persistent object which has been removed from the jar’s cache
    (fixes aborting a ZODB Connection that has added objects).
    (PR #7)
- additional changes from version 4.0.7:
  * Avoid a KeyError from _p_accessed() on newly-created objects
    under pure-Python: these objects may be assigned to a jar, but
    not yet added to its cache. (PR #6)
  * Avoid a failure in Persistent.__setstate__ when the state dict
    contains exactly two keys. (PR #5)
  * Fix a hang in picklecache invalidation if OIDs are manually
    passed out-of-order. (PR #4)
  * Add PURE_PYTHON environment variable support: if set, the C
    extensions will not be built, imported, or tested
- update project URL
- point the source URL to pypi
- drop type-mismatch.patch: fixed upstream
- add fix_32-bit_timestamp_hashcode.patch: fix timestamp hash
  computation on 32 bit platform
- pass -q to test to avoid spamming the build log
- rename CHANGES.txt and README.txt to CHANGES.rst and README.rst:
  changed upstream

Fri Mar 21 23:02:35 UTC 2014 -

- type-mismatch.patch: Use Py_ssize_t rather than PY_LONG_LONG for sizes

Mon Jul 29 14:58:49 UTC 2013 -

- version 4.0.6: initial build