# FROST Release v3.0.0

**URL:** <https://forum.zcashcommunity.com/t/frost-release-v3-0-0/55471>\
**Category:** Zcash Foundation\
**Created:** [April 23, 2026, 6:59pm UTC](https://forum.zcashcommunity.com/t/frost-release-v3-0-0/55471 "2026-04-23T18:59:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZcashFoundation](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/zcashfoundation/32/21548_2.png) [@ZcashFoundation](https://forum.zcashcommunity.com/u/ZcashFoundation)\
**Post date:** [April 23, 2026, 6:59pm UTC](https://forum.zcashcommunity.com/t/frost-release-v3-0-0/55471/1 "2026-04-23T18:59:35Z")

</div>

We have just released FROST v3.0.0. You can find `frost-core` and the ciphersuite crates available on [crates.io](https://crates.io/crates/frost-core). This stable release follows [v3.0.0-rc.0](https://zfnd.org/frost-release-v3-0-0-rc-0/), which introduced the bulk of the changes in this major version. If you are upgrading from v2.x, please read the RC release post for the full picture—the changes described here are what’s new since the release candidate. Full release notes are on [GitHub](https://github.com/ZcashFoundation/frost/releases/tag/frost-core/v3.0.0), and the updated documentation book is at [frost.zfnd.org](https://frost.zfnd.org/).

## What Changed Since v3.0.0-rc.0

The changes between the release candidate and the final release are modest but meaningful. On the security front, `SigningKey` is no longer `Copy` and now implements `ZeroizeOnDrop`, meaning signing keys are automatically wiped from memory when they go out of scope. `dkg::round2::Package` has received the same treatment. These changes reduce the window during which sensitive key material exists in memory and bring FROST in line with security best practices for cryptographic implementations.

There is also a bug fix: `verify_signature_share()` now correctly calls the `Ciphersuite::pre_commitment_aggregate() `hook, which was added in the RC to support custom pre-aggregation logic but was inadvertently omitted from the per-share verification path.

Finally, `PublicKeyPackage::new()` now takes `min_signers` as an `Option`. Passing `None` is useful when the threshold is not known at construction time—for example, when deserializing packages from older versions.

## Contributors

Thank you to everyone who contributed to this release: [@conradoplg](https://github.com/conradoplg), [@natalieesk](https://github.com/natalieesk) and [@BeeFlea](https://github.com/BeeFlea).

---

<div class="post-metadata">

**Author:** ![hanh](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/hanh/32/27853_2.png) [@hanh](https://forum.zcashcommunity.com/u/hanh)\
**Post date:** [April 23, 2026, 11:44pm UTC](https://forum.zcashcommunity.com/t/frost-release-v3-0-0/55471/2 "2026-04-23T23:44:48Z")

</div>

Any security fixes?

---

<div class="post-metadata">

**Author:** ![conradoplg](https://sea2.discourse-cdn.com/zcash/user_avatar/forum.zcashcommunity.com/conradoplg/32/42878_2.png) [@conradoplg](https://forum.zcashcommunity.com/u/conradoplg)\
**Post date:** [April 24, 2026, 2:16pm UTC](https://forum.zcashcommunity.com/t/frost-release-v3-0-0/55471/3 "2026-04-24T14:16:20Z")

</div>

The Zeroize improvements are technically security fixes but their importance will greatly depend on the application. Other than that, just API improvements
