Release Notes

0.0.X

  • Add the simple indexer component.

  • Add the reference server component.

  • Remove the electrumx component (it is replaced by the simple indexer and the reference server).

  • Remove the peer channels component (it is replaced by the reference server).

0.0.37

  • Add full and strict type annotations and static analysis to the SDK code-base with mypy

  • Fix a bug where boolean values passed to the node rpc via command line were not handled correctly.

  • Upgrade Merchant API to version 1.3.0 and remove all SSL configuration requirements.

  • Fixed SIGINT (Ctrl + C) on windows such that the ElectrumSV wallet is given a chance to shut down gracefully.

  • Fixed an issue where rapid killing and restarting of ElectrumX server resulted in errors due to the port still being on cooldown (TCP TIME_WAIT). Actually fixed by patching ElectrumX to set SO_REUSEADDR

  • Minor maintenance to docker-images

  • Added a new config subcommand with –sdk-home-dir option for changing SDK_HOME_DIR location

  • Python libraries for python-based components are now installed to SDK_HOME_DIR/python_libs/<component_name>.

  • Produced bundled cross-platform python wheels for the leveldb C Extension library ‘plyvel’: https://pypi.org/project/plyvel-wheels/#files to avoid the need for mac users to manually install leveldb

  • The SDK adds the SDK_HOME_DIR/python_libs/<component_name> dir and SDK_HOME_DIR/remote_repos/component_name to PYTHONPATH at runtime (and passes this into the subsequently spawned process - this is fundamentally aimed at avoiding dependency version conflicts and paving the way forward to a one-click-installation with an embedded python.

  • Use latest aiorpcx

0.0.36

  • Unpin ElectrumX

  • Fixed a typo in help menu

0.0.35

  • Stop dynamically downgrading requests dependency to cater to electrumsv.

0.0.34

  • Updated to only officially support python 3.9

  • Pinned ElectrumX version until we can handle the latest aiorpcX library

0.0.33

  • Substantial updates to documentation which is now hosted at https://electrumsv-sdk.readthedocs.io/

  • Multiple changes to make the SDK more useable as a library (aimed at generating reorg blocks)

  • Add commands.py for exposing public methods for using the main SDK entrypoints as a library

  • Update ‘status’ command to allow filtering by component_type or component_id

  • Add reorg scripts to contrib/ to document reproducible methodology.

  • Add the –deterministic-seed option for electrumsv

  • Added the –regtest and –testnet cli option to node and electrumx components

  • Simplify logic around mixing –id and <component_type> to always require <component_type> (simplifies the code and user interface). ‘reset’ and ‘stop’ commands still allow no args and will reset or stop all components.

  • Fix pipeline by installing postgres via homebrew rather than using docker

  • Make logging less verbose by default

  • Removed electrumsv-indexer (deferred)

  • Include electrumsv-server (BIP270 testing server) directory in pypi package and add it as a plugin

  • Convert electrumsv-server (BIP270 testing server) from curio to aiohttp web framework

  • Add broadcasting feature to the BIP270 testing server (to mAPI endpoints on all public networks & locally on RegTest)