It's that time again... Testing time!Brought to you by the Armory
team, this time. Yes, we have a team! A few guys came on recently and are still getting up to speed, but they're contributing, nonetheless. And even though they're not at full efficiency yet, I think we're finally moving faster than when it was just me by myself
Version 0.91-beta (currently 0.90.99.0-testing, the
testing branch) will not contain any groundbreaking features. However, it has dramatic stability improvements for all OS, and a whole ton of small-but-important things that improve the user experience.
Here's the list, in arbitrary order (well, kind of reverse-chronological order):
- Use --nospendzeroconfchange to not allow spending of any unconfirmed TxOuts (Armory already deprioritizes ZC change, but it's off-limits with this flag)
- Full P2SH support in send-BTC dialog, address book, tx info, etc
- WinXP support
- Proper unicode path handling (wallets will support unicode in 0.92-beta)
- No more choking on bad blocks written by Bitcoin-Qt/bitcoind
- Major improvements to OSX compatibility! (hopefully)
- Fixed fonts in OSX
- Bug reporting window
- Progress bars for long-running operations
- Better version notification system (will be implemented before release)
- Factory reset window -- including "Delete Bitcoin-Qt databases and re-download"
- Raspberry Pi offline bundle (process ironed out, will create test bundles soon!)
- Minimize-on-open (in settings)
- Wallets->"Recover Damaged Wallet"
- Wallet creation wizard
- Faster rescanning and rebuilding
- Better logic to prevent unnecessary rescans
- Better zero-conf tx handling
- Fee calculation fixes
- armoryd.py fixes and upgrades
- Multithreading improvements
- Code refactoring
A few points to emphasize:- Slowness and UI freezes should be mostly gone. It turns out that large wallets were choking on the number of zero-confirmation transactions on the network, combined with an inefficiency in Armory's handling of them. It should be dramatically improved.
- We now handle broken blk*.dat files more intelligently (produced by Bitcoin-Qt/bitcoind): It will pop up a warning if you are affected (instead of seg faulting). We believe that most of the problems people have experienced while syncing and scanning are due to this condition. . You can now do a "Factory Reset" which will delete the blk*.dat files and force Bitcoin-Qt to redownload it.
- Arbitrary rescans should be mostly gone. Unclean shutdowns or not. It will only rebuild or rescan if it detects problems with the database, or new addresses show up that have not been scanned
- Wallet consistency checks are now performed in the background on every load. You will see the progress bar at the bottom-left. If a problem is detected with your wallets, some information should pop up and you can use "Wallets"->"Recover Damaged Wallet" to try to fix it.
- armoryd.py has been upgraded (but still needs a bit more testing). We have a Python Scripting page to help people get into it, and devchanges.txt describes how developers can update their code to work with the changes between 0.90 and 0.91.
- OSX updates: No promises that this totally works yet, but we do finally have a [paid!] developer working exclusively in OSX, which means that it will no longer be neglected! He already found some issues with the prior build process, and thinks the next release will be dramatically improved. At the very least, the font issues on paper backups should be fixed
I am going to try to do a little more testing, probably followed by some tweaks. Then I'm going to attempt to do some testing builds for Windows, OSX,
and Raspberry Pi! The RPi builds can easily be integrated into the release process, because goatpig helped figure out how to cross-compile it on my non-ARM build systems. Sweet!
I will start a new thread for this round of testing, as soon as I flesh out the last few details and get some of the non-Linux testing builds together. Unfortunatley, I'm leaving for a trip tomorrow -- I hope to get some of it out there before I leave, otherwise it will have to wait until late next week. If you are adventurous, you can help speed up the process by checking out the "testing" branch and banging on it a bit.