Zebra 1.4.0 Release

The Zcash Foundation is pleased to announce the release of Zebra version 1.4.0.

This release includes support for mining RPC methods in all release builds, bundles the Zcash verification parameters into the zebrad binary, and updates Rust dependencies to match the zcashd 5.7.0 release.    

Some notable improvements from our previous release include better recovery from brief network interruptions, and mitigation of potential network and verification denial of service and performance issues. We have restored our macOS tests in CI, and now support macOS on a best-effort basis.

We have also changed our documentation website URL, and are considering deprecating some Docker image tags from release 1.5.0 onwards.

Mining RPCs in Production Builds

Since the 1.4.0 release, Zebra’s mining RPCs are available in release builds so that any Zebra instance can be used by a solo miner or mining pool. With this release, we are providing production level support to 12 mining related RPCs, including getblocktemplate,  submitblock, getmininginfo, getnetworksolps, [z_]validateaddress and getblocksubsidy. Do let us know if your mining pool requires any extra RPC methods or fields!

Zcash Parameters in zebrad Binary

zebrad now bundles zk-SNARK parameters directly into its binary. This increases the binary size by a few megabytes, but reduces the size of the Docker image by around 600 MB because the parameters don’t contain the Sprout proving key anymore. We have also removed the “zebrad download” command as it is no longer necessary. If you have upgraded zebrad to 1.4.0 or later, and zcashd to 5.7.0 or later, you can delete the zk-SNARK parameter files to save approximately 700 MB disk space. For more details, please check out our release notes.

macOS Support

We have restored support for macOS x86_64 on a best-effort basis. macOS builds and some tests run in Zebra’s CI. You can check out the list of Zebra supported platforms for more details on the different tiers of support we provide for the listed platforms. 

Deprecation Warnings

In an effort to remove redundancies and simplify things, we would like to share the following deprecation warnings.

DockerHub Image Tags

Zebra currently publishes 11 DockerHub tags for each new release. We want to reduce the number of DockerHub tags we publish in a future minor Zebra release. Based on usage and user feedback, in release 1.5.0 we could stop publishing:

  • The 1 tag, which updates each release until NU6
  • The 1.x tag, which updates each patch release until the next minor release
  • The 1.x.y tag, which is the same as v1.x.y
  • The sha-xxxxxxx tag, which is the same as v1.x.y (for production releases)

We also want to standardise experimental image tags to -experimental, rather than .experimental.

This means that, for release 1.5.0 onwards, we are considering only publishing the following tags:

  • latest    
  • latest-experimental (a new tag)
  • V1.5.0
  • v1.5.0-experimental

Please let us know if you need any other tags by opening a GitHub ticket.

We recommend using the “latest” tag to always get the most recent Zebra release.

Documentation Website URL Change

We have replaced the API documentation which was previously available on the doc.zebra.zfnd.org website with docs.rs. Zebra’s API documentation can now be found on:

  • docs.rs, which renders documentation for the public API of the latest crate releases;
  • doc-internal.zebra.zfnd.org, which renders documentation for the internal API on the main branch.

This API documentation is in addition to the Zebra Book user documentation, which is still available as usual.