From 77a41f5de2db5fb60c6b5456097602c9d1099eb0 Mon Sep 17 00:00:00 2001 From: Graham Dumpleton Date: Sun, 5 Nov 2023 11:51:03 +1100 Subject: [PATCH] Update change notes for making pure Python ObjectProxy available. --- docs/changes.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/changes.rst b/docs/changes.rst index dc78371f..7f3a9703 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -22,6 +22,21 @@ Note that version 1.16.0 drops support for Python 2.7 and 3.5. Python version object proxies so they properly proxy pass access to attributes/functions of the wrapped loader or finder. +* Code files in the implementation have been reorganized such that the pure + Python version of the ``ObjectProxy`` class is directly available even if the + C extension variant is being used. This is to allow the pure Python variant to + be used in exceptional cases where the C extension variant is not fully + compatible with the pure Python implementation and the behaviour of the pure + Python variant is what is required. This should only be relied upon if have + absolutely no choice. The pure Python variant is not as performant as the C + extension. + + To access the pure Python variant use ``from wrapt.wrappers import + ObjectProxy`` instead of just ``from wrapt import ObjectProxy``. Note that + prior to this version if you had used ``from wrapt.wrappers import + ObjectProxy`` you would have got the C extension variant of the class rather + than the pure Python version if the C extension variant was available. + **Bugs Fixed** * It was not possible to update the ``__class__`` attribute through the