Changelog

Unreleased

Summary

Changed

  • pool: use per-purpose dedicated relay channels (Yuki Kishimoto)
  • ffi(sdk): convert RelayPool::handle_notifications method to async/future (Yuki Kishimoto)

Added

Fixed

Removed

v0.32.0

Summary

Added async/future support to Python, Kotlin and Swift, added automatic authentication to relays (NIP-42, can be deactivated in client options), improvements to relay limits, many bug fixes (relays not auto reconnect, wrong query order for SQLite, tokio panic when using SQLite database in bindings) and more!

Note for kotlin devs: from this release the packages will be published at org.rust-nostr instead of io.github.rust-nostr.

Changed

Added

Fixed

  • nostr: fix re-serialization of events that contains unknown keys during deserialization (Yuki Kishimoto)
  • nostr: fix Nip21::to_nostr_uri serialization (Yuki Kishimoto)
  • pool: fix relay doesn't auto reconnect in certain cases (Yuki Kishimoto)
  • nostr: add missing TagStandard::PublicKeyLiveEvent variant to Event::public_keys (Yuki Kishimoto)
  • sqlite: fix SQLite database panics when used outside the client context in bindings (Yuki Kishimoto)
  • sqlite: fix wrong event order when querying (Yuki Kishimoto)

Removed

  • nostr: remove verify_blocking and get_profile_blocking functions (Yuki Kishimoto)
  • nostr: remove RelayInformationDocument::get_blocking (Yuki Kishimoto)
  • nostr: remove blocking feature (Yuki Kishimoto)
  • sqlite: removed deadpool-sqlite dep (Yuki Kishimoto)
  • ffi(nostr): remove Keys::from_mnemonic_with_account and Keys::from_mnemonic_advanced (Yuki Kishimoto)

v0.31.0

Summary

Reworked Tag, added TagStandard enum, simplified the way to subscribe and/or reconcile to subset of relays (respectively, client.subscribe_to and client.reconcile_with), added blacklist support to mute public keys or event IDs, removed zap split from client.zap method, many improvements and more!

Changed

Added

Fixed

Removed

v0.30.0

Summary

Adapted NIP46 to last changes, added NostrConnectRemoteSigner to easily build remote signers (just construct it and call serve method), improved proxy options (allow to specify the proxy target: all relays or only .onion ones), improvements to NWC client, fixed equality operator for bindings (Python, Kotlin and Swift), added nostrdb storage backend, added NIP32 and completed NIP51 support and more!

Changed

Added

Fixed

Removed

v0.29.4

  • pool: fix InternalRelay::get_events_of_with_callback timeout (Yuki Kishimoto)

v0.29.3

  • pool: check filter limit in InternalRelayPool::get_events_from (Yuki Kishimoto)

v0.29.2

Fixed

v0.29.1

Fixed

  • nostr: fix deserialization issues for events with non-standard k and x tags (Yuki Kishimoto)
  • pool: fix spurious send_event timeout error (DanConwayDev in https://github.com/rust-nostr/nostr/pull/375)