New Release: 1.1.0

Edit 2018-05-31: Auto-senescence terminology changed to “end-of-support halt”.

After several months of work, we are happy to announce the release of Zcash 1.1.0, the first Overwinter-compatible version of the Zcash node software!

Overwinter network upgrade

The first block of Overwinter will be block 347500, which is expected to be mined on the 25th of June 2018, just before noon EDT / 16:00 UTC. Please upgrade to this release, or any subsequent release, in order to follow the Overwinter network upgrade. See our previous blog post and the Overwinter Network Upgrade page for more information.

Other notable changes

-mempooltxinputlimit deprecation

The -mempooltxinputlimit configuration option was added in release 1.0.10 as a short-term fix for the quadratic hashing problem inherited from Bitcoin. At the time, transactions with many inputs were causing performance issues for miners. Since then, several performance improvements were merged from the Bitcoin Core codebase to significantly reduce these issues.

The Overwinter network upgrade includes changes that solve the quadratic hashing problem. As a result, the -mempooltxinputlimit option is no longer needed. A transaction with 1000 inputs will take just as long to validate as 10 transactions with 100 inputs each. Starting from this release, -mempooltxinputlimit will be enforced before the Overwinter activation height is reached, but will be ignored once Overwinter activates. The option will be removed entirely in a future release after Overwinter has activated.

NODE_BLOOM service bit

Support for the NODE_BLOOM service bit, as described in BIP 111, has been added to the P2P protocol code.

BIP 111 defines a service bit to allow peers to advertise that they support Bloom filters (such as used by SPV clients) explicitly. It also bumps the protocol version to allow peers to identify old nodes which allow Bloom filtering of the connection despite lacking the new service bit.

In this version, it is only enforced for peers that send protocol versions >=170004. The plan is to remove this restriction in the next major version. Updating SPV clients to check for the NODE_BLOOM service bit for nodes that report version 170004 or newer is recommended.

Summary of the changes included in this release

  1. Set the Overwinter mainnet activation height. (#3165)
  2. Deprecated -mempooltxinputlimit. (#3098)
  3. Pulled in support for the NODE_BLOOM service bit. (#2814)
  4. Fixed a bug in the block index rewinding code added in 1.0.15. (#3132, #3166)
  5. Fixed a bug in z_mergetoaddress when running it several times in parallel. (#3106)
  6. Fixed a bug where mainnet end-of-support halt (previously called “auto-senescence”) heights were applied to testnet and regtest. (#3069)
  7. Fixed bugs on several unsupported platforms. (#2820, #2965, #3089, #3117)
  8. Made Rust compilation mandatory. (#3127)
  9. Added support for Rust crates to the depends system. (#3096)
  10. Upgraded OpenSSL to 1.1.0h. (#3130)
  11. Improved the error message for “absurdly high fees”. (#3111)
  12. Added logging of expired transactions. (#3090)

We’re encouraging all users and miners to update to this version. See the download page and 1.0 User Guide for more information.

For a more complete list of changes, see the 1.1.0 GitHub milestone. To follow our progress, watch the GitHub project and join the forum.