This is a patch release that implements the ASIC hardfork, which will activate at block height 179000. It builds upon v1.3.5, which adds support for constructing and signing transactions via the API (and offline, via seed or Ledger), as well as numerous changes to the hostdb scoring algorithms, including better Sybil protections.
Going forward, release binaries will be hosted on our website, so this will likely be our last release on GitHub. I would like to take this opportunity to thank everyone who has contributed to the Sia project, which continues in earnest on GitLab.
This is a patch release that focuses on stability and correctness improvements to the renter. In addition to a bunch of minor improvements, contract spending is now reported more accurately, and individual contracts can be canceled without canceling the whole allowance.
Thanks as always to everyone who contributed to this release, and everyone who tested our release candidates!
As a reminder, the Sia project has moved to GitLab, but we will continue to make GitHub releases for backwards compatibility with
This is a patch release that adds functionality to the renter and improves its performance. @ChrisSchinnerl and our new employee @MSevey implemented HTTP file streaming, allowing you to stream videos and other content directly from Sia hosts. They also added rate-limiting, so you can prevent Sia from hogging all your bandwidth. @ChrisSchinnerl also moved contract data out of RAM and fixed a memory leak, resulting in greatly reduced memory usage. And as always, we made tons of smaller bug fixes.
Contributor @nielscastien added a new API endpoint for hosts that reports information about contracts formed with renters. I'm sure this will be widely appreciated by users who want more insight into their host's behavior. Thanks! And another "thank you" to everyone else who contributed to this release: @mharkus, @mtlynch, @Fornax96, @tbenz9, and everyone who tested our release candidates.
This is a patch release that focuses on stability and performance. @DavidVorick and @ChrisSchinnerl reworked the upload and download algorithms in the renter, and also added configurable ratelimiting so that Sia doesn't eat all of your bandwidth. @lukechampine fixed a long-standing bug in the host that caused it to perform needless I/O when idle. We added a new endpoint for checking if a transaction was confirmed. And as always, we fixed many more minor bugs and inefficiencies.
We also had a concerted effort, beginning with #2746, to get all of Sia's package passing
golint. @mharkus, @tbenz9, @mikkeljuhl, and @mjmay08 all contributed PRs to steadily improve coverage. Once #2786 is merged, we will have achieved this goal! Thanks to @tbenz9 for organizing this effort.
@tbenz9 also contributed an interesting PR (#2833) that includes the git commit hash in binaries built with the Makefile. This makes it possible to identify exactly what code is running, which is super helpful for debugging.
Thanks as always to everyone else who contributed to this release: @mtlynch, @GlenDC, @pachisi456, @nielscastien, @idanakav, and @jfcg.
This release is the culmination of nearly five months of steady work, with contributions from 19 developers. For this release, we primarily focused on improving the stability and performance of the renter. To achieve this, @DavidVorick and our new employee @ChrisSchinnerl designed and implemented a new write-ahead log package, which @lukechampine leveraged to create a new on-disk format for file contracts. This allows contracts to be updated efficiently while maintaining ACID properties, like a database. @DavidVorick also reworked much of the upload code, resulting in more throughput and more reliable file repairs. And as always, we made tons of bug fixes and performance improvements throughout the code base, affecting nearly every file in the project.
Importantly, this release contains a fix for the new difficulty algorithm that was introduced in v1.3.0. This fix is a hardfork that activates at block 139,000, which is expected to occur in late January, 2018. So before celebrating the new year, please ensure that you have upgraded your nodes to v1.3.1!
Supplying your wallet password and API password (if you use one) is now easier, thanks to contributions by @petabytestorage and @ericflo, respectively. If you set the
SIA_API_PASSWORD environment variables,
siac will automatically use them. Previously, these passwords had to be supplied via an interactive prompt, which made certain operations annoying to automate.
We had so many contributors to this release that I can't list everything they did. But I'd like to especially thank our first-time contributors: @mharkus, @aryzle, @aiorla, @nielscastien, @ericflo, @pedrorivera, @roipoussiere, @huetsch, @chrsch, @annalissac, and @dNetGuru. Of course, our returning contributors also submitted some great PRs to this release: @vevarm, @S-anasol, @petabytestorage, @eddiewang, @starius, and @mtlynch. Finally, a huge thank you to @tbenz9 for tirelessly cleaning up our issue tracker, creating a new issue template, and generally making the project friendlier to newcomers.
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:
/wallet/changepasswordroute, allowing users to change their wallet password
/wallet/sendsiacoinsto allow sending one output to multiple recipients (primarily useful for exchanges)
/tpoolendpoints for getting raw transaction data and transaction fee estimations
/host/estimatescoreendpoint 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
- @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.
This is a patch release that fixes bugs in the new wallet and host.
Hosts will now gracefully handle absent storage folders, and wallets will always show the correct balance when loading or recovering seeds. First-time wallet unlock is faster, and memory consumption has been reduced.
The renter will also accurately report the redundancy of files, accounting for contracts that have gone offline.
This release includes over 2500 lines of new testing and bug-fixes. Thanks to @vevarm for providing manpage generation for
This is a patch release that fixes bugs in the new host and wallet. This release also includes a fix for a security vulnerability that especially impacts hosts.
The first time you unlock the wallet should be moderately faster, especially on HDDs.
If you are upgrading a host from v1.1.2 to v1.2.1, the upgrade will be significantly faster compared to upgrading from v1.1.2 to v1.2.0. It can still take 6-12 hours for larger hosts, but previous upgrade times of several days should no longer happen.
siac renter allowance cancel command was also added for canceling your current allowance.
Thanks to @mtlynch for contributing to this release! And also thanks to the contributor (kept anonymous) who discovered and responsibly disclosed the security vulnerability.