# Changelog Entries are listed in reverse chronological order. ## Unreleased ## 0.7.0 ## Released ## 0.6.0 * The following structs had a `Identifier` field removed, which affects how they are encoded and instantiated: * `dkg::round1::Package` * `dkg::round2::Package` * `SigningCommitments` * `SignatureShare` * The following functions and methods changed parameters from `Vec` to `HashMap` so that callers need to indicate the identifier of the source of each value being passed: * `aggregate()` * `dkg::part2()` * `dkg::part3()` * `SigningPackage::new()` * `commit()` and `preprocess()` no longer take an identifier as input * `SignatureResponse` was removed. `SignatureShare` can now be encoded directly with `from/to_bytes()`. * rename all `to_bytes()`/`from_bytes()` to `serialize()`/`deserialize()` * The group public key is now included in the hash inside the binding factor computation. This reflects an upcoming change to the specification: https://github.com/cfrg/draft-irtf-cfrg-frost/pull/439 * `generate_with_dealer()` was change to allow specifying which identifiers to use * Identifiers can now be derived from arbitrary strings with `Identifier::derive()` * Added `RandomizerParams::from_randomizer()` to allow specifying a randomizer * Added `Error::culprit()` to easily get the identifier of a misbehaving participant * Most public types now implement common traits such as Clone and Debug ## 0.5.0 * expose SigningShare, VerifyingShare, NonceCommitment and SignatureResponse in ciphersuite libraries * most structs now have a private field which mean that they can no longer be instantiated directly. `new()` methods have been added to them. * change `SigningPackage::new()` to take `&[u8]P instead of `Vec` * add `serde` support under `serde` feature to allow encoding structs which need to be communicated between participants. * expand docs to show the overall structure and contents ## 0.4.0 * add serialize and deserialize functions for VerifiableSecretSharingCommitment * add value, serialize and deserialize functions for CoefficientCommitment ## 0.3.0 * add multiscalar support to speed up signing and aggregating * change errors caused by protocol violations to contain the misbehaving party * add frost::keys::split() * rename reconstruct_secret() to reconstruct(), make it takes a slice instead of a Vector, make it return SigningKey, fix it to return Error instead of an error string * rename keygen_with_dealer() to generate_with_dealer() * change SigningKey::new() to take a reference instead of a value ## 0.2.0 * Implement Zeroize where needed or skip where not needed (fixes compiling error) (#301) * Change keygen_with_dealer() to return a HashMap (#288) * Re-export the frost-core traits and rand-core as part of top-level impls API (#297) ## 0.1.0 * Initial release.