New Release: 1.1.2

Zcash 1.1.2 has been released on the heels of Zcon0. This Overwinter-compatible release focused on implementing internal changes necessary for Sapling in tandem with the librustzcash and sapling-crypto libraries.

Developer tips for Overwinter network upgrade

Overwinter activated successfully at block 347500 with most of the ecosystem upgrading smoothly. Common third-party issues were:

  1. When using an offline node to sign raw transactions, the offline node must be synced past the Overwinter activation block height so that the correct consensus branch id is used.
  2. With the new Overwinter signature hashing scheme, when passing in the prevtxs parameter to signrawtransaction, the amount field must be specified. Previously, this was not mandatory.
  3. When developing custom code to perform the Overwinter signature hashing scheme, a common issue has been mixing up the endianness of fields.

See our previous blog post and the Overwinter Network Upgrade page for more information.

Other notable changes

Removal of option -disabledeprecation

We implemented end-of-support (EOS) halt for zcashd software versions made by the Zcash Company in release 1.0.9. The configuration option-disabledeprecation was added to allow users to choose to stay on a particular software version. However, it incorrectly implied that deprecated releases would still be supported.

This release removes the -disabledeprecation option so that zcashd software versions made by the Zcash Company will always shut down in accordance with the defined EOS policy (currently 16 weeks after release). Users who wish to use a different policy must now specifically choose to either:

  • edit and compile the source code themselves, or
  • obtain a software version from someone else who has done so (and obtain
    support from them).

Either way, it is much clearer that the software they are running is not supported by the Zcash Company.

Summary of the changes included in this release

  1. Removed configuration option for turning off EOS halt, previously known as auto-senescence. (#3137)
  2. Data field hashFinalSaplingRoot has been added to RPC call getblocktemplate. (#3299)
  3. Data field finalsaplingroot has been added to RPC calls getblockheader and getblock. (#3337)
  4. We added encodings for Sapling addresses. (#3326)
  5. We added a class for Sapling notes. (#3272)
  6. We created tests for Sapling anchors. (#3258)
  7. Test vectors were created for components of Sapling keys. (#3332)
  8. The help message of RPC call signmessage has been clarified. (#3259)
  9. Some tests were updated with fixes. (#3303, #3320).
  10. We performed some refactoring for code clean up. (#3237, #3321, #3322)

For a more complete list of changes, see the 1.1.2 milestone.