Zope.container

Latest version: v6.1

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

Scan your dependencies

Page 3 of 6

4.4.0

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

- Support the ``PURE_PYTHON`` environment variable at runtime instead
of just at wheel build time. A value of 0 forces the C extensions to
be used failing if they aren't present. Any other value forces the
Python implementation to be used, ignoring the C extensions.

- Drop support for the deprecated ``python setup.py test`` command.

- Ensure all objects have consistent interface resolution orders. This
may slightly change the order of interfaces for ``ContainedProxy``
objects. See `issue 34 <https://github.com/zopefoundation/zope.container/issues/34>`_.

- Stop including outdated versions of ``zope.proxy`` (implementation)
and ``persistent`` headers. Instead, locate and use the installed
versions. See `issue 32
<https://github.com/zopefoundation/zope.container/issues/32>`_.

.. note::

This adds those two dependencies to ``setup_requires``.

4.3.0

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

- Add support for Python 3.8.

- Drop support for Python 3.4.

4.2.2

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

- Add a dependency on ``zope.cachedescriptors``, previously removed in
3.11. ``zope.cachedescriptors`` is a lightweight package, and the
copied code had diverged from the source. See
https://github.com/zopefoundation/zope.container/issues/16

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

- Add support for Python 3.7.

4.2.1

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

- Make ``OrderedContainer.updateOrder`` normalize and store text keys
the same way that ``__setitem__`` does. Fixes
https://github.com/zopefoundation/zope.container/issues/21

4.2.0

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

- Add support for Python 3.5 and 3.6.

- Drop support for Python 2.6 and 3.3.

- Make ``OrderedContainer`` properly store the decoded text keys for
maintaining order instead of the raw bytes. Also make it able to
accept raw bytes under Python 3 in the first place. Fixes
https://github.com/zopefoundation/zope.container/issues/17

- Fix ``OrderedContainer`` becoming inconsistent if an event
subscriber threw an exception when adding an item. See
https://github.com/zopefoundation/zope.container/issues/18

- Attain 100% test coverage. See
https://github.com/zopefoundation/zope.container/issues/15

- Make the default ``NameChooser`` always decode bytes using ASCII instead of
whatever the current system codec happens to be.

- Make the default ``NameChooser`` stop catching ``KeyboardInterrupt``
and other ``BaseException`` types when it potentially calls
user-defined code to convert a name to a text string. Instead, just
catch ``Exception``.

- Respect the ``PURE_PYTHON`` environment variable at runtime in
addition to build time. This makes it possible to use the
pure-Python implementation of the container proxy on CPython for
ease of debugging. See https://github.com/zopefoundation/zope.container/issues/13

4.1.0

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

- Make ``zope.container._proxy.PyContainedProxyBase`` inherit
directly from ``zope.proxy.AbstractProxyBase`` as well as
``persistent.Persistent``, removing a bunch of redundant code, and
fixing bugs in interaction with pure-Python persistence. See:
https://github.com/zopefoundation/zope.container/pull/4

- Add direct dependencies on ``zope.proxy`` and ``persistent`` since we
import from them; pin them to the versions needed for pure-Python.

- Drop deprecated BBB imports module, ``zope.container.dependency``.

Page 3 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.