Skip to content

Releases: rust-nostr/nostr

Release v0.41.0

15 Apr 07:56
48de47b
Compare
Choose a tag to compare

Breaking changes

  • nostr: add optional relay URL arg to Tag::coordinate (Yuki Kishimoto)
  • nostr: update TagStandard::Label and EventBuilder::label (Yuki Kishimoto)
  • nostr: update custom field type in Metadata struct (Yuki Kishimoto)
  • pool: remove Error::Failed variant (Yuki Kishimoto)
  • pool: returns Output instead of an error if the message/event sending fails for all relays (Yuki Kishimoto)
  • pool: add reason field to AdmitStatus::Rejected variant (Yuki Kishimoto)

Changed

Added

Fixed

  • nostr: fix missing transactions object in serialization of nip47 ListTransactions ResponseResult (daywalker90)
  • nostr: fix NIP32 implementation (Yuki Kishimoto)

Full changelog: https://rust-nostr.org/changelog

Release v0.40.0

18 Mar 09:32
02ed52c
Compare
Choose a tag to compare

Add NIP-38 and NIP-62 support, add nostr parser, to easily parse any text and extract nostr URIs, URLs and more,
extend Tags capabilities (i.e., add deduplication support), add admission policies, to selectively select which events to allow receiving and which to reject,
add Mac Catalyst support for Swift package, many cleanups, refactoring and performance improvements and more!

Full changelog: https://rust-nostr.org/changelog

Release v0.39.0

31 Jan 10:21
1349760
Compare
Choose a tag to compare

Add NIP96 support, add NIP22 helpers, NIP01 adjustments, add try_connect and wait_for_connection methods for better connection handling, support for custom WebSocket clients (both in Rust, Python, Kotlin and Swift), new JVM bindings, huge reduction of UniFFI bindings binaries size, many cleanups, refactoring and performance improvements and more!

Full changelog: https://rust-nostr.org/changelog

Release v0.38.0

31 Dec 11:23
6ccc81a
Compare
Choose a tag to compare

Full NIP42 support for SDK and relay builder, negentropy support and read/write policy plugins for relay builder,
NIP35 support, better logs and docs, performance improvements, bugs fix and more!

Full changelog: https://rust-nostr.org/changelog

Release v0.37.0

27 Nov 14:38
47c695f
Compare
Choose a tag to compare

Add support to NIP17 relay list in SDK (when gossip option is enabled), add NIP22 and NIP73 support,
fix Swift Package, many performance improvements and bug fixes and more!

From this release all the rust features are be disabled by default (except std feature in nostr crate).

Full changelog: https://rust-nostr.org/changelog

Release v0.36.0

05 Nov 16:30
33fb069
Compare
Choose a tag to compare

Many, many improvements to Relay and RelayPool performance (reduced atomic operations and switched to async concurrency), add NostrSigner trait, better methods and struct names (fetch_events instead of get_events_of, sync instead of reconcile, NostrConnect instead of Nip46Signer and so on), add LocalRelay and allow to easily serve it as hidden onion service with the embedded tor client, allow to keep track of negentropy sync progress, almost halved the weight of JavaScript SDK bindings (from ~6.3MB to ~3.6MB), some fixes and many more!

Note for Python, Kotlin, Swift and JavaScript devs: unfortunately I can't mark things as deprecated in bindings, so this release have many breaking changes, sorry :(

Note for devs who are using nostr-protocol (Python), org.rust-nostr:nostr (Kotlin), nostr-swift (Swift) or @rust-nostr/nostr (JavaScript) libraries: these packages are now deprecated. Only the nostr-sdk library will be released, which include everything that was in those libraries.

Full changelog: https://rust-nostr.org/changelog

Release v0.35.0

19 Sep 19:54
e2af742
Compare
Choose a tag to compare

Add gossip model support, deprecate SQLite database in favor of LMDB (fork of pocket database), add support to negentropy v1 (old version is still supported!), add MockRelay (a local disposable relay for tests), allow usage of embedded tor client on mobile devices, many improvements, bugs fix and more!

Full changelog: https://rust-nostr.org/changelog

Release v0.34.0

15 Aug 14:51
8714d7e
Compare
Choose a tag to compare

Add embedded tor client support, allow to open databases with a limited capacity (automatically discard old events when max capacity is reached), add Client::stream_events_of as alternative method to Client::get_events_of (stream events instead of waiting for EOSE and collect into a list), add search capability (NIP-50) support to Filter::match_event and databases, add NIP-31 and NIP-70 support, add option to autoconnect relay on Client::add_relay method call (currently disabled by default), rework the get_events_of methods behaviour for better consistency (RelayPool::get_events_of and Relay::get_events_of get events only from remote relay/s while Client::get_events_of allow to choose the source of events: database, relays or both), bugs fix and more!

Full changelog: https://rust-nostr.org/changelog

Release v0.33.0

16 Jul 14:47
c5671aa
Compare
Choose a tag to compare

Better outputs for send/batch/reconcile methods (ex. you can now easily know where a message/event is successfully published and where/why failed),
allow to change NIP-42 option after client initialization, increase max stack size for JS bindings to prevent "memory access out of bounds" error,
expose more objects/methods for JS bindings, dry run option for negentropy reconciliation, get NIP-46 relay from NIP-05 profile,
bug fixes (NIP-42 auth not works correctly, NIP-46 "ACK" message not handled, ...) and more!

Full changelog: https://rust-nostr.org/changelog

Release v0.32.0

07 Jun 16:43
60cb27f
Compare
Choose a tag to compare

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.

Full changelog: https://rust-nostr.org/changelog