aspectlib is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing
behavior in existing code is desired. It includes tools for debugging and testing: simple mock/record and a complete
capture/replay framework.

1.4.0 (2016-04-09)

1.3.3 (2015-10-02)

Fixed typo in ABSOLUTELLY_ALL_METHODS name (now ABSOLUTELY_ALL_METHODS). Old name is still there for
backwards compatibility.

1.3.2 (2015-09-22)

Fixed another tricky bug in the generator advising wrappers - result was not returned if only Proceed was yielded.

1.3.1 (2015-09-12)

Corrected result handling when using Aspects on generators.

1.3.0 (2015-06-06)

Added messages property to aspectlib.test.LogCapture. Change call to have level name instead of number.

Fixed a bogus warning from aspectlib.patch_module` when patching methods on old style classes.

1.2.2 (2014-11-25)

Added support for weakrefs in the __logged__ wrapper from aspectlib.debug.log decorator.

1.2.1 (2014-10-15)

Don’t raise exceptions from Replay.__exit__ if there would be an error (makes original cause hard to debug).

1.2.0 (2014-06-24)

Fixed weaving methods that were defined in some baseclass (and not on the target class).

Fixed wrong qualname beeing used in the Story/Replay recording. Now used the alias given to the weaver instead of
whatever is the realname on the current platform.

1.1.1 (2014-06-14)

Use ASPECTLIB_DEBUG for every logger in aspectlib.

1.1.0 (2014-06-13)

Added a bind option to aspectlib.Aspect so you can access the cutpoint from the advisor.

Replaced automatic importing in aspectlib.test.Replay with extraction of context variables (locals and globals
from the calling aspectlib.test.Story). Works better than the previous inference of module from AST of the
result.

All the methods on the replay are now properties: aspectlib.test.Story.diff,
aspectlib.test.Story.unexpected and aspectlib.test.Story.missing.