|
|
|
|
Changelog for python39-BTrees-4.8.0-1.2.x86_64.rpm :
* Thu Jan 13 2022 Matej Cepl - Add missing Provides * Tue May 18 2021 pgajdosAATTsuse.com- version update to 4.8.0 * Make Python 2 forbid the use of type objects as keys (unless a custom metaclass is used that implements comparison as required by BTrees.) On Python 3, types are not orderable so they were already forbidden, but on Python 2 types can be ordered by memory address, which makes them unsuitable for use as keys. See `issue `_. * Make the ``multiunion``, ``union``, ``intersection``, and ``difference`` functions accept arbitrary Python iterables (that iterate across the correct types). Previously, the Python implementation allowed this, but the C implementation only allowed objects (like ``TreeSet`` or ``Bucket``) defined in the same module providing the function. See `issue 24 `_. * Fix persistency bug in the Python version (`#118 `_). * Fix ``Tree.__setstate__`` to no longer accept children besides tree or bucket types to prevent crashes. See `PR 143 `_ for details. * Make BTrees, TreeSet, Set and Buckets implements the ``__and__``, ``__or__`` and ``__sub__`` special methods as shortcuts for ``BTrees.Interfaces.IMerge.intersection``, ``BTrees.Interfaces.IMerge.union`` and ``BTrees.Interfaces.IMerge.difference``. * Add support for Python 3.9. * Build and upload aarch64 wheels. * Make a value of ``0`` in the ``PURE_PYTHON`` environment variable require the C extensions (except on PyPy). Previously, and if this variable is unset, missing or unusable C extensions would be silently ignored. With this variable set to ``0``, an ``ImportError`` will be raised if the C extensions are unavailable. See `issue 156 `_. * Make the BTree objects (``BTree``, ``TreeSet``, ``Set``, ``Bucket``) of each module actually provide the interfaces defined in ``BTrees.Interfaces``. Previously, they provided no interfaces. * Make all the BTree and Bucket objects instances of ``collections.abc.MutableMapping`` (that is, ``isinstance(btree, MutableMapping)`` is now true; no actual inheritance has changed). As part of this, they now provide the ``popitem()`` method. * Make all the TreeSet and Set objects instances of ``collections.abc.MutableSet`` (that is, ``isinstance(tree_set, MutableSet)`` is now true; no actual inheritance has changed). As part of this, they now provide several more methods, including ``isdisjoint``, ``discard``, and ``pop``, and support in-place mutation operators such as ``tree_set |= other``, ``tree_set += other``, ``tree_set -= other`` and ``tree_set ^= other``. See `issue 121 `_. * Update the definitions of ``ISized`` and ``IReadSequence`` to simply be ``zope.interface.common.collections.ISized`` and ``zope.interface.common.sequence.IMinimalSequence`` respectively. * Remove the ``__nonzero__`` interface method from ``ICollection``. No objects actually implemented such a method; instead, the boolean value is typically taken from ``__len__``. * Adjust the definition of ``ISet`` to produce the same resolution order under the C3 and legacy orderings. This means that the legacy order has changed slightly, but that this package emits no warnings when ``ZOPE_INTERFACE_LOG_CHANGED_IRO=1``. Note that the legacy order was not being used for these objects because the C3 ordering was still consistent; it could only be obtained using ``ZOPE_INTERFACE_USE_LEGACY_IRO=1``. See `PR 159 `_ for all the interface updates. * Fix the ``get``, ``setdefault`` and ``pop`` methods, as well as the ``in`` operator, to not suppress ``POSKeyError`` if the object or subobjects are corrupted. Previously, such errors were logged by ZODB, but not propagated. See `issue 161 `_. * Tue Apr 14 2020 Tomáš Chvátal - Do not bother with documentation- Update to 4.7.2: * Fix more cases of C and Python inconsistency. * Wed Mar 25 2020 Marketa Calabkova - update to 4.7.1 * Ensure the interface resolution order of all objects is consistent. See `issue 137 `_. * Add unsigned variants of the trees. These use the initial \"U\" for 32-bit data and \"Q\" for 64-bit data (for \"quad\", which is similar to what the C ``printf`` function uses and the Python struct module uses). * Fix the value for ``BTrees.OIBTree.using64bits`` when using the pure Python implementation (PyPy and when ``PURE_PYTHON`` is in the environment). * Make the errors that are raised when values are out of range more consistent between Python 2 and Python 3 and between 32-bit and 64-bit variants. * Make the Bucket types consistent with the BTree types as updated in versions 4.3.2: Querying for keys with default comparisons or that are not integers no longer raises ``TypeError``. * Mon Jan 13 2020 Marketa Calabkova - update to 4.6.1 * Add support for Python 3.8. * Mon Oct 14 2019 Matej Cepl - Replace %fdupes -s with plain %fdupes; hardlinks are better. * Mon Aug 05 2019 pgajdosAATTsuse.com- version update to 4.6.0 * Drop support for Python 3.4. * Fix tests against persistent 4.4. * Stop accidentally installing the \'terryfy\' package in macOS wheels. See `issue 98 `_. * Fix segmentation fault in ``bucket_repr()``. See `issue 106 `_. * Sun Feb 10 2019 John Vandenberg - Update to v4.5.1 + Use pyproject.toml to specify build dependencies. This requires pip 18 or later to build from source.- 4.5.0 + Add support for Python 3.6 and 3.7, and drop support for Python 3.3. + Raise an ``ImportError`` consistently on Python 3 if the C extension for BTrees is used but the ``persistent`` C extension is not available. Previously this could result in an odd ``AttributeError``. + Fix the possibility of a rare crash in the C extension when deallocating items. + Respect the ``PURE_PYTHON`` environment variable at runtime even if the C extensions are available. + Always attempt to build the C extensions, but make their success optional. + Fix a ``DeprecationWarning`` that could come from I and L objects in Python 2 in pure-Python mode.- Use %license * Mon Jul 10 2017 jengelhAATTinai.de- Fix duplicate summaries * Sat Jun 24 2017 aloisioAATTgmx.com- Update to version 4.4.1 * Fixed a packaging bug that caused extra files to be included (some of which caused problems in some platforms). 4.4.0: * Allow None as a special key (sorted smaller than all others). * This is a bit of a return to BTrees 3 behavior in that Nones are allowed as keys again. Other objects with default ordering are still not allowed as keys. 4.3.2: * Make the CPython implementation consistent with the pure-Python implementation and only check object keys for default comparison when setting keys. In Python 2 this makes it possible to remove keys that were added using a less restrictive version of BTrees. (In Python 3 keys that are unorderable still cannot be removed.) Likewise, all versions can unpickle trees that already had such keys. See: https://github.com/zopefoundation/BTrees/issues/53 and https://github.com/zopefoundation/BTrees/issues/51 * Make the Python implementation consistent with the CPython implementation and check object key identity before checking equality and performing comparisons. This can allow fixing trees that have keys that now have broken comparison functions. See https://github.com/zopefoundation/BTrees/issues/50 * Make the CPython implementation consistent with the pure-Python implementation and no longer raise TypeError for an object key (in object-keyed trees) with default comparison on __getitem__, get or in operations. Instead, the results will be a KeyError, the default value, and False, respectively. Previously, CPython raised a TypeError in those cases, while the Python implementation behaved as specified. * Likewise, non-integer keys in integer-keyed trees will raise KeyError, return the default and return False, respectively, in both implementations. Previously, pure-Python raised a KeyError, returned the default, and raised a TypeError, while CPython raised TypeError in all three cases. 4.3.1: * Packaging: fix password used to automate wheel creation on Travis. 4.3.0: * Fix unexpected OverflowError when passing 64bit values to long keys / values on Win64. See: https://github.com/zopefoundation/BTrees/issues/32 * When testing PURE_PYTHON environments under tox, avoid poisoning the user’s global wheel cache. * Ensure that the pure-Python implementation, used on PyPy and when a C compiler isn’t available for CPython, pickles identically to the C version. Unpickling will choose the best available implementation. This change prevents interoperability problems and database corruption if both implementations are in use. While it is no longer possible to pickle a Python implementation and have it unpickle to the Python implementation if the C implementation is available, existing Python pickles will still unpickle to the Python implementation (until pickled again). See: https://github.com/zopefoundation/BTrees/issues/19 * Avoid creating invalid objects when unpickling empty BTrees in a pure-Python environment. * Drop support for Python 2.6 and 3.2. 4.2.0: * Add support for Python 3.5. 4.1.4: * Ensure that pure-Python Bucket and Set objects have a human readable __repr__ like the C versions. 4.1.3: * Fix _p_changed when removing items from small pure-Python BTrees/TreeSets and when adding items to small pure-Python Sets. See: https://github.com/zopefoundation/BTrees/issues/13- Converted to single-spec
|
|
|