Version 1.2.2

Version 1.2.1

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

Version 1.2.0

  • Fix weaving methods that were defined in some baseclass (and not on the target class).
  • Fix 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.

Version 1.1.1

  • Use ASPECTLIB_DEBUG for every logger in aspectlib.

Version 1.1.0

  • Add 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.
  • Added aspectlib.test.Story.actual and aspectlib.test.Story.expected.
  • Added an ASPECTLIB_DEBUG environment variable option to switch on debug logging in aspectlib‘s internals.

Version 1.0.0

  • Reworked the internals aspectlib.test.Story to keep call ordering, to allow dependencies and improved the serialization (used in the diffs and the missing/unexpected lists).

Version 0.9.0

  • Changed aspectlib.test.record:

    • Renamed history option to calls.
    • Renamed call option to iscalled.
    • Added callback option.
    • Added extended option.
  • Changed aspectlib.weave:

    • Allow weaving everything in a module.
    • Allow weaving instances of new-style classes.
  • Added aspectlib.test.Story class for capture-replay and stub/mock testing.

Version 0.8.1

  • Use simpler import for the py3support.

Version 0.8.0

  • Change aspectlib.debug.log to use Aspect and work as expected with coroutines or generators.
  • Fixed aspectlib.debug.log to work on Python 3.4.
  • Remove the undocumented aspectlib.Yield advice. It was only usable when decorating generators.

Version 0.7.0

  • Add support for decorating generators and coroutines in Aspect.
  • Made aspectlib raise better exceptions.

Version 0.6.1

Version 0.6.0

  • Don’t include __getattribute__ in ALL_METHODS - it’s too dangerous dangerous dangerous dangerous dangerous dangerous ... ;)
  • Do a more reliable check for old-style classes in debug.log
  • When weaving a class don’t weave attributes that are callable but are not actually routines (functions, methods etc)

Version 0.5.0

  • Changed aspectlib.debug.log:

    • Renamed arguments to call_args.
    • Renamed arguments_repr to call_args_repr.
    • Added call option.
    • Fixed issue with logging from old-style methods (object name was a generic “instance”).
  • Fixed issues with weaving some types of builtin methods.

  • Allow to apply multiple aspects at the same time.

  • Validate string targets before weaving. aspectlib.weave('mod.invalid name', aspect) now gives a clear error (invalid name is not a valid identifier)

  • Various documentation improvements and examples.

Version 0.4.1

  • Remove junk from 0.4.0’s source distribution.

Version 0.4.0

  • Changed aspectlib.weave:

    • Replaced only_methods, skip_methods, skip_magicmethods options with methods.
    • Renamed on_init option to lazy.
    • Added aliases option.
    • Replaced skip_subclasses option with subclasses.
  • Fixed weaving methods from a string target.