Armory 0.96.1 Released

This release is a minor release introducing many bug fixes and some features.

Compatibility

Armory 0.96.0 introduced new output script types, P2SH-P2PK and P2SH-P2WPKH. Spending from these output types requires Armory 0.96.0+. The standard P2PKH output types are still created and can be signed for by previous versions dating back to Armory 0.92.x.

Notable Changes

Transaction Sending Fixes

In the event that transactions fail to broadcast over the normal P2P network broadcasting, transactions will now also be sent through the connected bitcoind’s sendrawtransaction RPC interface. This will ensure that the transaction is actually broadcast, and if it fails, will inform the user as to why the transaction failed to broadcast. Transaction broadcast failures will be better reported in the GUI and in the log. The default transaction fee rate has been increased to help reduce the possibility of low fee transactions.

armoryd Separation and Fixes

armoryd, the JSON-RPC Daemon for Armory, has been moved to its own repository. The version in the current Armory repository is currently non-functional and will be removed in future versions. However the armoryd that was separated out is functional and has been updated with the latest Armory features.

FCGI Port Randomization

The FCGI port used by ArmoryDB which the Armory client (either ArmoryQt or armoryd) connects to will now be randomized to avoid conflicts with other ports used by other software. A port can be chosen by using the --fcgi-port in ArmoryDB and --armorydb-port in the Armory client.

Better Database Management and Sanity

Additional fixes have been made to the database to make it more robust and better at detecting and recovering from corruption.

GUI and Display Changes

  • The progress spinner icon will now spin correctly based upon the actual progress of the various actions it performs. The command prompt will also no longer be displayed when using Windows.

  • Because of Armory’s dependence on bitcoind’s RPCs for various functions, an indicator has been added to inform the user if Armory is able to connect to bitcoind’s RPC server.

Build System improvements

Options have been added to the autotools configure script that allow for enabling unit tests (--enable-tests) and disabling GUI functionality (--without-gui)

Full changelog

Added

  • Raised default fee to 200 satoshi/Bytes. This fee will apply when using defaults and the node RPC is down. Any applied fee lower than that rate will trigger a warning message box. Users have to actively choose to bypass the warning.
  • Split unit tests building from default autotools setup. To build tests, use: ./configure --enable-tests.
  • You can now disable GUI in the autotools build system. Use: ./configure --without-gui
  • When spawned with a cookie file, the DB now randomizes its listen port to (49150 + [0-15000]) and reports it in the cookie file.
  • Added --fcgi-port command line argument to the DB
  • Address comments are now visible again in the Coin Control GUI
  • DB messages now have checksums; this improves error and version mismatch detection
  • Transactions that failed to broadcast throug the P2P layer will now be pushed to the RPC afterwards, if it’s enabled
  • Refresh address view in Wallet Properties dialog on several user interactions.
  • RPC status is now signaled in the bottom right corner status bar. Disabled RPC will result in bold purple text.
  • Highly improved DB corruption self diagnosis and automated fixing.
  • Zero confirmation parser pool now is now capped at 100 threads. You can modify this value with the --zcthread-pool command line argument.

Fixed

  • ZC parsing will no longer occur while the BDM is initializing
  • Wait on cookie file creation before connecting to auto managed DB
  • Fixed registration/callback premature garbage collection
  • Translation patch issues
  • Fixed “Fund from wallet” lockbox GUI
  • Fixed TxIn/Out pretty printing
  • Tied init phase spinning icon rotation to progress notifications. The icon will not spin when no progress data is received, correctly indicating the DB is hanging.
  • Fixed cryptopp build against older CPUs (no AES or PCLMUL archs).
  • Fixed RBF bumping with no change.
  • Improved timestamps granularity in logs.
  • Improved transaction broadcast consistency.
  • Improved error message verbose of timed out transaction broadcasts.
  • ./configure --prefix now propagates correctly to Makefiles.
  • Fixed several memleaks in the database code.
  • Fixed false positive throws over bad packet detection in socketing layer.
  • Fixed coin selection edge cases.
  • Fixed the displaying of address comments in the lobby ledger.

Removed

  • Python-twisted dependency. This should remove the underlying openSSL dependency as well.
  • Database command prompt will no longer appear when auto managing the DB on Windows

Contributors

Thank you to all the contributors:

and the testers/bug reporters:

Downloads

Written on July 28, 2017