# Changelog All notable changes to this library will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this library adheres to Rust's notion of [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Changed - MSRV is now 1.51.0. - Bumped dependencies to `ff 0.11`, `group 0.11`, `bls12_381 0.6`, `jubjub 0.8`. - `epk: jubjub::ExtendedPoint` has been replaced by `ephemeral_key: zcash_note_encryption::EphemeralKeyBytes` in various places: - `zcash_client_backend::wallet::WalletShieldedOutput`: the `epk` field has been replaced by `ephemeral_key`. - `zcash_client_backend::proto::compact_formats::CompactOutput`: the `epk` method has been replaced by `ephemeral_key`. - Renamed the following in `zcash_client_backend::data_api` to use lower-case abbreviations (matching Rust naming conventions): - `error::Error::InvalidExtSK` to `Error::InvalidExtSk` - `testing::MockWalletDB` to `testing::MockWalletDb` - Account identifier variables that were previously typed as `u32` have been updated to use a bespoke `AccountId` type in several places. - A new error constructor SqliteClientError::TransparentAddress has been added to support handling of errors in transparent address decoding. - The `Builder::add_sapling_output` method now takes its `MemoBytes` argument as a required field rather than an optional one. If the empty memo is desired, use MemoBytes::from(Memo::Empty) explicitly. - The `SaplingBuiilder::add_output` method has now similarly been changed to take its `MemoBytes` argument as a required field. ## [0.5.0] - 2021-03-26 ### Added - `zcash_client_backend::address::RecipientAddress` - `zcash_client_backend::data_api` module, containing the Data Access API. - `zcash_client_backend::wallet`: - `AccountId` - `SpendableNote` - `OvkPolicy` - `zcash_client_backend::welding_rig::ScanningKey` trait, representing a key which can be used for trial decryption of outputs, and optionally nullifier computation. This trait is implemented for `zcash_primitives::zip32:ExtendedFullViewingKey` and `zcash_primitives::primitives::SaplingIvk`. - First alpha of TZE support, behind the `zfuture` feature flag. ### Changed - MSRV is now 1.47.0. - `epk` fields and return values were changed from a `jubjub::SubgroupPoint` to a `jubjub::ExtendedPoint`, to match the change to the `zcash_primitives` decryption APIs: - `zcash_client_backend::proto::compact_formats::CompactOutput::epk()` - The `epk` field of `zcash_client_backend::wallet::WalletShieldedOutput`. - `zcash_client_backend::decrypt`: - `decrypt_transaction` now takes a variable with type `P: zcash_primitives::consensus::Parameters`. - The `memo` field of `DecryptedOutput` now has type `MemoBytes`. - `zcash_client_backend::wallet`: - The `nf` property of `WalletShieldedSpend` now has the type `Nullifier`. - The `account` property of `WalletShieldedSpend` and `WalletShieldedOutput` now has the type `AccountId`. - `zcash_client_backend::welding_rig`: - `scan_block` now takes `&[(AccountId, K: ScanningKey)]`, instead of a slice of extended full viewing keys with implicit account IDs. - The `nullifiers` argument to `scan_block` now has the type `&[(AccountId, Nullifier)]`. ### Removed - `zcash_client_backend::constants` module (its sub-modules have been moved into `zcash_primitives::constants`, and more generally replaced by the new methods on the `zcash_primitives::consensus::Parameters` trait). ## [0.4.0] - 2020-09-09 ### Changed - MSRV is now 1.44.1. - Bumped dependencies to `ff 0.8`, `group 0.8`, `bls12_381 0.3.1`, `jubjub 0.5.1`, `protobuf 2.15`. ## [0.3.0] - 2020-08-24 TBD ## [0.2.0] - 2020-03-13 TBD ## [0.1.0] - 2019-10-08 Initial release.