Btrees

Latest version: v6.1

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

Scan your dependencies

Page 5 of 8

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.

Page 5 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.