Sia v1.0.1 Released
Sia CLI v1.0.1: https://github.com/NebulousLabs/Sia/releases/tag/v1.0.1
Sia GUI v1.0.2: https://github.com/NebulousLabs/Sia-UI/releases/tag/v1.0.2
Today we have released Sia v1.0.1. It includes a large number of small bugfixes, and not very many overall changes. In total we have made about 120 commits to the Sia repository, and about 120 commits to the Sia-UI repository, each with a set of changes primarily aimed at making Sia run smoother.
There are security updates in this release in addition to bugfixes - some of the bugs were relevant to security, so it is recommended that everyone, especially hosts, update quickly.
Below I've made a brief list of highlights for the Sia repository, loosely sorted by importance:
- A large number of tests have been either introduced or improved, revealing bugs that are now fixed
- Host will no longer silently disable itself in the even of communication errors with the renter.
siadnow requires you to use basic authentication if you are exposing your control API (e.g. access to the wallet) over the internet
siadnow explicitly requires you to
--disable-api-securitybefore allowing you to expose your control API over the internet
- The renter and host occasionally desynchronize, this is inevitable due to the nature of networks - they are inherently unstable. The renter and host have a way to resynchronize, but there was a bug where the renter would save the wrong file hashes when trying to resynchronize, making it impossible to upload more files to the host. This has been fixed.
- A significant deadlock has been removed from the host. Though rare, it was seen multiple times that a host would freeze up, preventing it from communicating to renters, and even preventing the wallet from getting new blocks. This is now fixed.
- The host had a race condition where it would invalidate the file contracts of renters. Data could no longer be uploaded or downloaded, a significant issue. Great care was taken to improve threading safety in the host, especially with regards to file contracts. These problems have been fixed.
- the renter's database of hosts has had multiple bugfixes, including fixes for bugs that would make a host appear offline even if it was not
- the renter will now choose hosts based on collateral, upload price, download price, and storage price, instead of just using storage price. This eliminates security vulnerabilities where hosts could have a low storage price, but extremely high prices for everything else.
- When adding storage folders to the host, you must use an absolute path now. Previously relative paths had been allowed, and this had caused confusion for some users.
- Logging has been improved slightly, though a more substantial overhaul of the logging is on the way.
- Addresses are now required to have a checksum - this means all addresses are now 76 characters. Previously 64 character addresses were also allowed, but these were subject to typos that occasionally caused people to send their coins to the wrong address (making them unrecoverable)
- some typos have been fixed
Overall, there is still more work to do. We have fixed a lot of significant issues in this release, including security issues, and want to push it out to the community. Though things are running more smoothly than before, the renter and host still have troubles communicating occasionally. Throughout the next few weeks we will continue to dedicate ourselves to logging, testing, and improving the rough patches and slowdowns that still exist within the codebase. I will be focusing primarily on the renter, mostly around safety and speed. The host still has a few issues as well, and these will not be neglected.
We have also begun work on the wallet, which means the future should see superior backup and recovery tools, instant wallet unlocking, and other changes which will make your lives easier and safer with regards to the wallet. @nemo will be leading the changes in the wallet.