Changes¶
4.6.1 (2022-11-16)¶
- Add support for building arm64 wheels on macOS.
4.6.0 (2022-11-03)¶
- Add support for Python 3.11.
4.5.1 (2022-09-15)¶
- Disable unsafe math optimizations in C code. See pull request 53.
4.5.0 (2021-11-17)¶
- Add support for Python 3.10.
4.4.0 (2021-07-22)¶
- Add support for Python 3.9.
- Create aarch64 wheels.
4.3.5 (2020-03-16)¶
- Stop installing C header files on PyPy (which is what zope.proxy before 4.3.4 used to do), fixes issue 39.
4.3.4 (2020-03-13)¶
4.3.3 (2019-11-11)¶
- Add support for Python 3.8.
- Drop support for Python 3.4.
4.3.2 (2019-07-12)¶
- Fix error handling in
ProxyBase.__setattr__: any the exception raised byPyString_AsString/PyUnicode_AsUTF8would be silently swallowed up and ignored. See issue 31.
4.3.1 (2018-08-09)¶
- Simplify the internal C handling of attribute names in
__getattribute__and__setattr__. - Make building the C extension optional. We still attempt to build it on supported platforms, but we allow it to fail in case of a missing compiler or headers. See issue 26.
- Test the PURE_PYTHON environment and PyPy3 on Travis CI.
- Add support for Python 3.7.
4.3.0 (2017-09-13)¶
- Fix a potential rare crash when deallocating proxies. See issue 20.
- Drop support for Python 3.3.
- Drop support for “python setup.py test”.
- 100% test coverage.
- Fix indexing pure-Python proxies with slices under Python 3, and
restore the use of
__getslice__(if implemented by the target’s type) under Python 2. Previously, pure-Python proxies would fail with an AttributeError when given a slice on Python 3, and on Python 2, a custom__getslice__was ignored. See issue 21.
4.2.1 (2017-04-23)¶
- Make the pure-Python implementation of
sameProxiedObjectshandlezope.securityproxies. See issue 15. - Add support for Python 3.6.
4.2.0 (2016-05-05)¶
- Correctly strip
zope.securityproxies inremoveAllProxies. See issue 13. - Avoid poisoning the user’s global wheel cache when testing
PURE_PYTHONenvironments undertox, - Drop support for Python 2.6 and 3.2.
- Add support for Python 3.5.
4.1.6 (2015-06-02)¶
- Make subclasses of ProxyBase properly delegate
__module__to the wrapped object. This fixes somezope.interfacelookups under PyPy. - Make the pure-Python implementation of ProxyBase properly report the
zope.interfaceinterfaces implemented by builtin types likelist. This fixes somezope.interfacelookups under PyPy.
4.1.5 (2015-05-19)¶
- Make the C implementation proxy
__unicode__correctly. - Make the C implementation use the standard methods to proxy
intandfloat. - Make the pure Python implementation handle descriptors defined in subclasses like the C version. See https://github.com/zopefoundation/zope.proxy/issues/5.
4.1.4 (2014-03-19)¶
- Add support for Python 3.4.
- Update
bootstrap.pyto version 2.2.
4.1.3 (2013-03-12)¶
- Fix interface object introspection in PyPy. For some reason PyPy makes
attributes available despite the restrictive
__slots__declaration. - Add a bunch of tests surrounding interface lookup and adaptation.
4.1.2 (2013-03-11)¶
- Make
PyProxyBase.__iter__()return the result ofPyProxyBase._wrapped.__iter__if available, otherwise falling back to Python internals. The previous implementation always created a generator. - In
PyProxyBase.__setattr__(), allow setting of properties on the proxy itself. This is needed to properly allow proxy extensions as was evidenced int hezope.security.decoratormodule.
4.1.1 (2012-12-31)¶
- Fleshed out PyPI Trove classifiers.
4.1.0 (2012-12-19)¶
Enable compilation of dependent modules under Py3k.
Replace use of
PyCObjectAPIs with equivalentPyCapsuleAPIs, except under Python 2.6.- N.B. This change is an ABI incompatibility under Python 2.7:
extensions built under Python 2.7 against 4.0.x versions of
zope.proxymust be rebuilt.
4.0.1 (2012-11-21)¶
- Add support for Python 3.3.
4.0.0 (2012-06-06)¶
Add support for PyPy.
N.B.: the C extension is not built under PyPy.
Add a pure-Python reference / fallback implementations of
zope.proxy.ProxyBaseand the proxy module API functions.N.B.: the pure-Python proxy implements all regular features of
ProxyBase; however, it does not exclude access to the wrapped object in the same way that the C version does. If you need that information hiding (e.g., to implement security sandboxing), you still need to use the C version.Add support for continuous integration using
toxandjenkins.100% unit test coverage.
Add Sphinx documentation: moved doctest examples to API reference.
Add ‘setup.py docs’ alias (installs
Sphinxand dependencies).Add ‘setup.py dev’ alias (runs
setup.py developplus installsnoseandcoverage).Replace deprecated
zope.interface.implementsusage with equivalentzope.interface.implementerdecorator.Drop support for Python 2.4 and 2.5.
Add Python 3.2 support.
3.6.1 (2010-07-06)¶
- Make tests compatible with Python 2.7.
3.6.0 (2010-04-30)¶
- Remove test extra and the remaining dependency on zope.testing.
- Remove use of ‘zope.testing.doctestunit’ in favor of stdlib’s ‘doctest.
3.5.0 (2009/01/31)¶
- Add support to bootstrap on Jython.
- Use
zope.containerinstead ofzope.app.container.
3.4.2 (2008/07/27)¶
- Make C code compatible with Python 2.5 on 64bit architectures.
3.4.1 (2008/06/24)¶
- Bug: Update
setup.pyscript to conform to common layout. Also updated some of the fields. - Bug: Honor pre-cooked indices for tuples and lists in the
__getslice__()and__setslice__()methods. See http://docs.python.org/ref/sequence-methods.html.
3.4.0 (2007/07/12)¶
- Feature: Add a
decoratormodule that supports declaring interfaces on proxies that get blended with the interfaces of the things they proxy.
3.3.0 (2006/12/20)¶
- Corresponds to the verison of the
zope.proxypackage shipped as part of the Zope 3.3.0 release.
3.2.0 (2006/01/05)¶
- Corresponds to the verison of the
zope.proxypackage shipped as part of the Zope 3.2.0 release.
3.0.0 (2004/11/07)¶
- Corresponds to the verison of the
zope.proxypackage shipped as part of the Zope X3.0.0 release.