C++ changes * Add `push_on_return` and `snapshot` fields to `ExecutionContext` to support core fixes ([ref1](https://github.com/neo-project/neo/pull/2755),[ref2](https://github.com/neo-project/neo/pull/2729))
Python binding updates * Expose `push_on_return` and `snapshot` fields on `ExecutionContext`.
0.10.0
C++ changes * Fix DDOS in max equal comparison ([ref](https://github.com/neo-project/neo-vm#454)). * Add MODMUL MODPOW opcodes ([ref](https://github.com/neo-project/neo-vm#455)). * Deep copy as immutable option ([ref](https://github.com/neo-project/neo-vm#473)). * Add `extra_data` field to `ExecutionContext` allowing to store arbitrary Python objects ([ref](https://github.com/neo-project/neo/pull/2734)).
Python binding updates * The `deep_copy` method on `StackItem`s now requires an argument to indicate if it should be copied as immutable (has special meaning inside the NEO core). * Expose `extra_data` field on `ExecutionContext`.
0.9.0
C++ changes * Changed reference counter implementation. This results in compound stackitem derivatives no longer requiring a `ReferenceCounter` as argument in their constructors making them easier to use and less error prone. It also helped fixing a Python binding issue for OSX. * Expose `move_next` on `ExecutionContext` making it easier to create a dissassembler.
Python binding updates * Removed `ReferenceCounter` argument from all compound stackitems.
0.8.6
C++ changes * Add `load_script` function with additional argument to override the context scripthash bytes property to support correctly loading contracts on the mamba side. * Perform explicit casting of 2 values used in reference counting to prevent an incorrect relational expression result.
Python binding updates * Expose the additional `load_script` function
0.8.5
C++ changes * Fix calling script hash not shared between `ExecutionContext`s in certain cases
0.8.4
C++ changes * Allow certain exceptions to be caugth by smart contracts ([ref](https://github.com/neo-project/neo-vm/pull/436))