Changelog

1.4.2 (2016-05-10)

  • Fix forgotten debug prints.

1.4.1 (2016-05-06)

  • Fixed weaving of objects that don’t live on root-level modules.

1.4.0 (2016-04-09)

  • Corrected weaving of methods, the weaved function should be unbound.
  • Rolling back only applies undos once.
  • Added a convenienceweave fixture for pytest.

1.3.3 (2015-10-02)

  • Fixed typo inABSOLUTELLY_ALL_METHODS name (nowABSOLUTELY_ALL_METHODS). Old name is still there forbackwards compatibility.

1.3.2 (2015-09-22)

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

1.3.1 (2015-09-12)

  • Corrected result handling when using Aspects on generators.

1.3.0 (2015-06-06)

  • Addedmessages property toaspectlib.test.LogCapture. Changecall to have level name instead of number.
  • Fixed a bogus warning fromaspectlib.patch_module`() when patching methods on old style classes.

1.2.2 (2014-11-25)

1.2.1 (2014-10-15)

  • Don’t raise exceptions fromReplay.__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 ofwhatever is the realname on the current platform.

1.1.1 (2014-06-14)

  • UseASPECTLIB_DEBUG for every logger inaspectlib.

1.1.0 (2014-06-13)

  • Added abind option toaspectlib.Aspect so you can access the cutpoint from the advisor.
  • Replaced automatic importing inaspectlib.test.Replay with extraction of context variables (locals and globalsfrom the callingaspectlib.test.Story). Works better than the previous inference of module from AST of theresult.
  • All the methods on the replay are now properties:aspectlib.test.Story.diff,aspectlib.test.Story.unexpected andaspectlib.test.Story.missing.
  • Addedaspectlib.test.Story.actual andaspectlib.test.Story.expected.
  • Added anASPECTLIB_DEBUG environment variable option to switch on debug logging inaspectlib’s internals.

1.0.0 (2014-05-03)

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

0.9.0 (2014-04-16)

  • Changedaspectlib.test.record:

    • Renamedhistory option tocalls.
    • Renamedcall option toiscalled.
    • Addedcallback option.
    • Addedextended option.
  • Changedaspectlib.weave:

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

0.8.1 (2014-04-01)

  • Use simpler import for the py3support.

0.8.0 (2014-03-31)

  • Changeaspectlib.debug.log to useAspect and work as expected with coroutines or generators.
  • Fixedaspectlib.debug.log to work on Python 3.4.
  • Remove the undocumentedaspectlib.Yield advice. It was only usable when decorating generators.

0.7.0 (2014-03-28)

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

0.6.1 (2014-03-22)

0.6.0 (2014-03-17)

  • 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)

0.5.0 (2014-03-16)

  • Changedaspectlib.debug.log:

    • Renamedarguments tocall_args.
    • Renamedarguments_repr tocall_args_repr.
    • Addedcall 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.invalidname',aspect) now gives a clear error(invalidname is not a valid identifier)

  • Various documentation improvements and examples.

0.4.1 (2014-03-08)

  • Remove junk from 0.4.0’s source distribution.

0.4.0 (2014-03-08)

  • Changedaspectlib.weave:

    • Replacedonly_methods,skip_methods,skip_magicmethods options withmethods.
    • Renamedon_init option tolazy.
    • Addedaliases option.
    • Replacedskip_subclasses option withsubclasses.
  • Fixed weaving methods from a string target.

0.3.1 (2014-03-05)

  • ???

0.3.0 (2014-03-05)

  • First public release.