Cutover documentation for a 1.1.0 release.
This commit is contained in:
43
CHANGES
43
CHANGES
@@ -1,43 +0,0 @@
|
|||||||
CHANGES
|
|
||||||
=======
|
|
||||||
|
|
||||||
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, 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'.
|
|
||||||
|
|
||||||
Note that this only occurred when the C extension optimisations were
|
|
||||||
being used. It did not occur when the pure Python implementation of
|
|
||||||
ObjectProxy was being used.
|
|
||||||
|
|
||||||
* When deriving from ObjectProxy, 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'.
|
|
||||||
|
|
||||||
Note that this only occurred when the C extension optimisations were
|
|
||||||
being used. It did not occur when the pure Python implementation of
|
|
||||||
ObjectProxy was being used.
|
|
||||||
|
|
||||||
Version 1.0.0
|
|
||||||
-------------
|
|
||||||
|
|
||||||
Initial release.
|
|
@@ -1,3 +1,2 @@
|
|||||||
include README
|
include README
|
||||||
include CHANGES
|
|
||||||
include LICENSE
|
include LICENSE
|
||||||
|
37
docs/changes.rst
Normal file
37
docs/changes.rst
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Changes
|
||||||
|
=======
|
||||||
|
|
||||||
|
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.
|
@@ -48,9 +48,9 @@ copyright = u'2013, Graham Dumpleton'
|
|||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = '1.0'
|
version = '1.1'
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = '1.0.0'
|
release = '1.1.0'
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
|
@@ -8,6 +8,10 @@ module, for the purpose of comparison.
|
|||||||
Synchronization
|
Synchronization
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
The final variant of the ``synchronized`` decorator described here
|
||||||
|
is available within the **wrapt** package as ``wrapt.synchronized``.
|
||||||
|
|
||||||
Synchronization decorators are a simplified way of adding thread locking to
|
Synchronization decorators are a simplified way of adding thread locking to
|
||||||
functions, methods, instances of classes or a class type. They work by
|
functions, methods, instances of classes or a class type. They work by
|
||||||
associating a thread mutex with a specific context and when a function is
|
associating a thread mutex with a specific context and when a function is
|
||||||
|
@@ -56,6 +56,7 @@ Contents
|
|||||||
examples
|
examples
|
||||||
benchmarks
|
benchmarks
|
||||||
testing
|
testing
|
||||||
|
changes
|
||||||
issues
|
issues
|
||||||
|
|
||||||
.. wrappers
|
.. wrappers
|
||||||
|
Reference in New Issue
Block a user