Skip to content

Zebra v1.0.0-alpha.7

Pre-release
Pre-release
Compare
Choose a tag to compare
@mpguerra mpguerra released this 23 Apr 13:06
· 3073 commits to main since this release
ea1446e

Zebra's latest alpha continues our work on NU5/Orchard, and fixes some security and protocol correctness issues.

Zebra now has best-effort support for Apple M1 builds, and logging to systemd-journald.

Added

Network Upgrade 5

Configuration and Logging

  • Stop requiring a port for Zcash listener addresses (#2043)
    • use the default port if there is no configured port
  • Add journald support through tracing-journald (#2034)
    • Zebra does not have any journald integration tests, so we will support it on a best-effort basis

Testing and Bug Reports

  • Benchmark Block struct serialization code (#2018)
  • Add the new commit count and git hash to the version in bug reports (#2038)
  • Add branch, commit time, and build target to the panic metadata (#2028)
  • Automatically update app version from crate version (#2028)

Changed

Supported Platforms and Dependencies

  • Update dependencies to support Apple M1 (#2026)
    • Zebra does not have any Apple M1 CI, so we will support it on a best-effort basis
  • Bump ripemd160 from 0.8.0 to 0.9.1 and remove trait import (#2027)
  • Update to vergen 5 (#2029)

Refactors and Cleanups

  • Refactor and document correctness for std::sync::Mutex in ErrorSlot (#2032)
  • Refactor and document correctness for std::sync::Mutex (#2033)
  • Make Zcash string serialization consistent with deserialization (#2053)
  • clippy: make to_* methods take self by value (#2006)

Testing

  • Speedup proptests for Chain struct in zebra-state (#2012)

Fixed

  • Stop assuming there will always be a .git directory during builds (#2037)
  • Clarify CandidateSet state diagram (#2036)

Network Protocol

  • Stop panicking when Zebra sends a reject without extra data (#2016)
  • Switch to an async mutex for handshake nonces (#2031)

Testing and Logging

  • Fix a test failure due to ' debug format changes in Rust (#2014)
  • Fix Windows CI LLVM paths (#2026)
  • Clarify a duplicate log message (#2054)

Security

Network

  • Avoid a single peer providing a majority of Zebra's peer addresses (#2004)
  • Make sure handshake version negotiation always has a timeout (#2008)
  • Make sure each peer heartbeat has a timeout (#2009)

Memory Usage

  • Implement vector deserialisation limits for new Transaction::V5 types (#1996)