Status 0.9.3 — Melonport, Gnosis, Firstblood & bChat!
In this post I will talk about DApp Compatibility, Development Processes, Testnet Spam, Bug Fixes. Thank you so much to our core contributors for working so hard and diligently to get us to this release! don’t forget to shake your phone!
Firstly I wanted to say thank-you to Jeff, Peter, Vlad, Viktor, Zsolt, Aron and the whole go-ethereum team, they consistently do a great job and hold strong to their ideals. Without their hard efforts — Status wouldn’t be possible and the Ethereum network wouldn’t be what it is today. If you think so too, swing by their Gitter and let them know!
So what have we been up to?
First up, we’ve addressed a bunch of bugs since our initial alpha release, in big part thanks to our community and initial testers — all the feedback has helped us fix those bugs, and push forward with development. We still have a lot of work ahead of us, but the positivity is truly a source of motivation.
DApp Compatibility
There were multiple bugs when it came to DApp integration that got ironed out, we have partial support for SSL and we now do things like estimate Gas by default. What this means is we’re much closer to achieving parity with Mist & Metamask. That means we have DApp support.
So we have a handful of new DApps as default contacts that includes Melonport, Gnosis, Firstblood and bchat!
Two Week Software Cycle
One thing that became really clear since our first alpha release, there is room for improvement with our release processes. We were originally having a feature-based versioning & release model. A problem with this was quickly discovered when a major blocking bug was introduced upstream.
Essentially exposing a choice we had to make — either rollback or solve an upstream bug — at the time it appeared to look like the same amount of effort, except one was a regression. So we opted to push forward, but in doing so we delayed our release and the bug became hairier and hairier as we looked into it, and therefore consumed way more time than we initially anticipated.
So in light of this we’ve switched to a continuous release model that is separated in a 2 phase cycle. First phase is a 1 week merge period, this is where any stable Pull Requests get accepted into the develop
-branch. The second phase is a 1 week test/regression & release period, this is where we branch a newrelease/version,
then test, patch or undo any PRs that are unstable. This allows us to continually deploy and incrementally upgrade Status while also allowing features to develop and mature before being included into develop
. This also allows us to ‘rollback’ or regress certain changes should they become problematic before release.
Hopefully this allows us to consistently release a new version of Status every two weeks — Rain or Shine.
Testnet Spam
So as we’d just got our development process down and we were ready to release, then the testnet gets hit with spam transactions, effectively bringing everything to a halt. Truth is, this spam attack illustrates something to this community — we should be a lot better at coordinating to deal with these kinds of attacks, regardless of severity — even if it is unlikely to happen on Mainnet.
Unfortunately there isn’t many light servers online, and ours stopped syncing around ~580,000 block, so even though LES has auto discovery, there just wasn’t much of a network :)
We’re also setting the Canonical Hash Trie for every release, and have now set it in front of the spam attack blocks, so the light clients don’t have to deal with those headers. Right now the testnet is more or less ‘behaving’, but expect intermittent issues.
Bug Fixes
Phew. It’s been awhile since last version, and thanks to the wonderful community 0.9.3 includes 38 bug fixes! I could make a long list but some of my favourites are:
Download
Android users can download the app from here:
https://test.status.im/
iOS/Testflight users will receive an email with latest version shortly!
Find a bug? Don’t forget to shake your phone!
Join Our Community
If you’d like to follow our progress more closely, or provide some feedback, join the Status Slack Community, hit us with a Tweet or subscribe to the Status Subreddit.