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.
@johnathanhowell will be providing a more detailed update of changes to the UI. In this next cycle, he will continue to maintain the UI and fix bugs that come up, but his primary focus has been turned to the explorer. The explorer is going to be getting upgrades, including plugins to metrics like the number of github followers and stars we have, the number of nodes on the network, and some host-tracking features similar (but not identical) to those on siapulse.com.
@jordan is going to be spearheading business development within Sia, managing potential business partnerships, investor relationships, and many of the marketing efforts. His primary role within Sia today is to help the ecosystem grow, which includes providing better access to documentation and third party apps within the ecosystem.
@droghio and @mnsl are going to continue improving the testing within Sia, particularly as relates to the API and multi-node testing. Sometime in the next few weeks we should see a full testnet for Sia, something we should have released a long time ago.
I would also like to give a shoutout to everyone who has helped us in some form or another over the past few months. We have had help from many, and I am sure to miss more than a few of you, but below is a mashup of users that have either contributed bug reports, contributed graphics, written code, helped newbies, or somehow otherwise gone above the standard role of 'user' and took time out of their life to help improve Sia as a whole:
@david60, @aspect, @allejuppa, @betaboot, @icebear, @tobo, @in-cred-u-lous, @fornax, @ffmad, @wolf0, @mvolkov, @snappaz, @mtlynch, @redrockmining, @TacoByte, @Chehands, @Krakonos, @Mortal-Killer, @axu, @hosiawak, @phobosq, @wskeen, @irishsia, @veber, @johnstor, @smilesvua, and many more.
The latest UI release, v1.0.2, brings a number of improvements and bug fixes to the UI, thanks to helpful feedback from the community and improvements to our internal testing system. Here's a quick overview of the changes introduced in Sia-UI v1.0.2:
- Add separate file and folder upload buttons for Windows and Linux, fixing a bug where windows and linux users could only upload folders
- Show a 'Siad has stopped' error screen with a button to restart if the Sia daemon stops unexpectedly, instead of flooding the user with errors.
- Allow only one instance of Sia-UI to run at a time, and re-focus Sia-UI if another instance is launched.
- Display a notification balloon when Sia-UI is closed to inform users that Sia-UI continues running in the system tray
- Add a sync status indicator to the top bar that informs users about the status of their blockchain
- Keep track of the user's contract count and display an error if they try to upload without the minimum required contract count
- Fix a bug that caused siafunds amounts to be displayed as zero
- Fix a bug where contract fees were not accounted for in the storage cost estimation algorithm
- Fix a bug where siad startup errors were not reflected in the loading screen, causing users to see 'Loading...' forever
- Fix a bug where host earnings would be shown as Hastings but stated as SC
- Increased test coverage, including full test coverage for the Wallet plugin
- Fix a few layout issues