[0.16.0] - 2025-03-21
=====================
Added
-----
- `zcash_client_sqlite::WalletDb::with_gap_limits`
- `zcash_client_sqlite::GapLimits`
- `zcash_client_sqlite::util`
- `zcash_client_sqlite::schedule_ephemeral_address_checks` has been added under
the `transparent-inputs` feature flag.
- `zcash_client_sqlite::wallet::transparent::SchedulingError`
Changed
-------
- Updated to `zcash_keys 0.8`, `zcash_client_backend 0.18`
- `zcash_client_sqlite::WalletDb` has added fields and type parameters:
- a `clock` field and corresponding type parameter. Tests that make use of
`WalletDb` now use a `zcash_client_sqlite::util::FixedClock` for this
field value.
- an `rng` field and corresponding type parameter. Tests that make use of
`WalletDb` now use a `ChaChaRng` value initialized with the all-zeros
seed for this field value.
- the following methods have been changed to accept additional parameters
as a result of these changes:
- `WalletDb::for_path`
- `WalletDb::from_connection`
- `wallet::init::init_wallet_db` has additional type constraints
- `zcash_client_sqlite::WalletDb::get_address_for_index` now returns some of
its failure modes via `Err(SqliteClientError::AddressGeneration)` instead of
`Ok(None)`.
- `zcash_client_sqlite::error::SqliteClientError` variants have changed:
- The `EphemeralAddressReuse` variant has been removed and replaced
by a new generalized `AddressReuse` error variant.
- The `ReachedGapLimit` variant no longer includes the account UUID
for the account that reached the limit in its payload. In addition
to the transparent address index, it also contains the key scope
involved when the error was encountered.
- A new `DiversifierIndexReuse` variant has been added.
- A new `Scheduling` variant has been added.
- Each row returned from the `v_received_outputs` view now exposes an
internal identifier for the address that received that output. This should
be ignored by external consumers of this view.