1.9 KiB
1.9 KiB
Changes
Version 1.1.1
Bugs Fixed
- Python object memory leak was occuring due to incorrect increment of object reference count in C implementation of object proxy when an instance method was called via the class and the instance passed in explicitly.
- In place operators in pure Python object proxy for __idiv__ and __itruediv__ were not replacing the wrapped object with the result of the operation on the wrapped object.
- In place operators in C implementation of Python object proxy were not replacing the wrapped object with the result of the operation on the wrapped object.
Version 1.1.0
New Features
- Added a synchronized decorator for performing thread mutex locking on functions, object instances or classes. This is the same decorator as covered as an example in the wrapt documentation.
- Added a WeakFunctionProxy class which can wrap references to instance methods as well as normal functions.
- Exposed from the C extension the classes _FunctionWrapperBase, _BoundFunctionWrapper and _BoundMethodWrapper so that it is possible to create new variants of FunctionWrapper in pure Python code.
Bugs Fixed
- When deriving from ObjectProxy, and the C extension variant of wrapt was being used, if a derived class overrode __new__() and tried to access attributes of the ObjectProxy created using the base class __new__() before __init__() was called, then an exception would be raised indicating that the 'wrapper has not been initialised'.
- When deriving from ObjectProxy, and the C extension variant of wrapt was being used, if a derived class __init__() attempted to update attributes, even the special '_self' attributed before calling the base class __init__() methid, then an exception would be raised indicating that the 'wrapper has not been initialised'.
Version 1.0.0
Initial release.