Skip to content

core v0.36.0

Latest

Choose a tag to compare

@HDauven HDauven released this 19 Oct 09:11
6268412

[0.36.0] - 2026-10-16

Added

  • Implement Zeroize and ZeroizeOnDrop for ViewKey, wiping its secret a
    #285
  • Add TxSkeleton::from_slice_checked, rejecting non-canonical skeleton padding
    #288
  • Add StealthAddress::from_bytes_checked, rejecting non-prime-order stealth
    points #288
  • Add Note::value_opening to recover and validate note openings #290

Changed

  • Speed up ViewKey::owns and SecretKey::owns #319
  • Return an Option from SecretKey::gen_note_sk and Note::gen_nullifier,
    None when the R of the stealth address is the identity, of small order,
    or not on the curve #317
  • Redact secret scalar material from SecretKey and ViewKey debug output
    #316
  • Update jubjub-schnorr to v0.7.0 #311
  • Update dusk-bls12_381 to v0.16 #311
  • Update dusk-jubjub to v0.16 #311
  • Update dusk-poseidon to v0.44.0 #311
  • Update jubjub-elgamal to v0.6.0 #311
  • Panic in Note::new, Note::transparent, Note::obfuscated and
    Sender::encrypt when an encryption degenerates, which takes a zero sender
    blinder or a key point that is not of prime order #311, or when the two
    sender blinders are equal #330
  • Return Error::InvalidEncryption from Note::value, Note::value_blinder
    and Note::value_opening for an obfuscated note whose R is the identity,
    of small order, or not on the curve #311
  • Remove the unused direct hex and assert_matches dependencies #308
  • Remove the unused direct base64 dependency #306
  • Raise the MSRV to Rust 1.96.1 #302
  • Update bs58 to 0.5 #301
  • Depend directly on rand_core for production RNG traits #298
  • Normalize transparent notes created with Note::new to the canonical zero
    value blinder, ignoring the supplied blinder #290
  • Return Error::CommitmentMismatch when a recovered note opening does not
    match its value commitment #290

Removed

  • Remove the Copy and Clone implementations of ViewKey #285

Fixed

  • Reject points outside the prime-order subgroup when deserializing a Note
    or Sender with Serde #318
  • Ignore a small-order component of R in ViewKey::owns, SecretKey::owns
    and SecretKey::gen_note_sk #317
  • Reject a stealth address whose R is the identity, of small order, or not
    on the curve in ViewKey::owns and SecretKey::owns #317
  • Reject PublicKey encodings whose A or B is the identity #312
  • Reject recovered note openings that do not match their value commitment
    #290
  • Remove the panic when converting Phoenix errors into dusk_bytes::Error
    #294
  • Return Error::BadLength instead of panicking when AES input and output
    lengths are inconsistent #296

Full changelog: v0.35.1...v0.36.0