This is a minor release that introduces a number of long-awaited features.

The most prominent features are remote file repair and wallet lookahead. Remote file repair allows Sia to automatically repair your files even after the original file data has been deleted from your machine. It works by downloading data from hosts, expanding it to the desired redundancy, and reuploading the redundant pieces to other hosts. This is a crucial feature for Sia because hosts that go offline or fail to meet quality requirements must be replaced. Note that in order for remote file repair to work, the file must report at least 1x redundancy.

Wallet lookahead means that the wallet will pre-generate the next n addresses for its seed, and watch the blockchain for them. (Remember, each address corresponds to a particular seed index.) For example, even if the user has only created 5 addresses from their seed, the wallet may internally be keeping track of the next 100 addresses. This functionality is mainly useful for people who use the same seed on multiple computers: before this fix, their wallet balance could be reported incorrectly, which caused some (understandable) anxiety.

v1.3.0 also contains a number of additions to our API:

  • A /wallet/changepassword route, allowing users to change their wallet password
  • Upgraded /wallet/sendsiacoins to allow sending one output to multiple recipients (primarily useful for exchanges)
  • New /tpool endpoints for getting raw transaction data and transaction fee estimations
  • A /host/estimatescore endpoint for estimating your host's score, as seen by renters

We have also switched our gateway multiplexer from muxado to smux, which should improve stability and performance, and modified the gateway connection protocol to require fewer roundtrips while sending more actionable information.

Finally, there were many internal bug fixes and optimizations, including transaction pool speed-ups, fixes for the renter stalling, and faster initial blockchain download. One of the fixes that I'll appreciate most is converting this horrible-looking stack dump to a simple and obvious "out of disk space" error.

We'd like to thank the huge number of contributors to this release. The quality of contributions has increased dramatically over the past few months, and it has made life a lot easier for the core devs. Please let me know if I missed anyone:

  • @rnabel worked with @johnathanhowell to implement remote file repair
  • @ChrisSchinnerl worked with @lukechampine to implement wallet lookahead, among other fixes
  • @glendc worked with @lukechampine to implement the muxado->smux transition and gateway protocol changes
  • @starius worked with @DavidVorick to improve initial blockchain download speed
  • @elopio contributed packaging metadata for a Sia snap package
  • @aiorla made good use of a new JSON type in Go 1.8
  • @jnmclarty, @mharkus, @mtlynch, @petabytestorage, @rudibs, @S-anasol, and @skynode fixed up a bunch of documentation
  • @moimael added some flags to our release packaging to reduce the size of Sia binaries

Contributors have also helped keep the issue tracker under control by answering common questions and marking duplicates. This is part of an ongoing effort to rein in our issue tracker, which we plan to start pruning more aggressively in the coming weeks.