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!
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!
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!
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.
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!
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
Bump uniffi to v0.27 ([Yuki Kishimoto])
Adapted NIP46 to last changes ([Yuki Kishimoto])
nostr: change Tag::parse arg from Vec<S> to &[S] ([Yuki Kishimoto])
nostr: allow to parse public key from NIP21 uri with PublicKey::parse ([Yuki Kishimoto])
nostr: allow to parse event ID from NIP21 uri with EventId::parse ([Yuki Kishimoto])
nostr: construct GenericTagValue based on SingleLetterTag in deserialize_generic_tags ([Yuki Kishimoto])
nostr: set UnsignedEvent ID as optional ([Yuki Kishimoto])
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!
relay-builder: bump tokio-tungstenite to v0.24 ([Yuki Kishimoto])
pool: bump async-wsocket to v0.8 ([Yuki Kishimoto])
pool: avoid unnecessary Url and Relay clone in RelayPool methods ([Yuki Kishimoto])
pool: avoid Relay clone in RelayPool::connect_relay method ([Yuki Kishimoto])
pool: RelayPool::send_event and RelayPool::batch_event send only to relays with WRITE flag ([Yuki Kishimoto])
pool: RelayPool::subscribe_with_id, RelayPool::get_events_of and RelayPool::stream_events_of REQ events only to relays with READ flag ([Yuki Kishimoto])
pool: bump async-wsocket to v0.9 ([Yuki Kishimoto])
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps nostr-sdk from 0.29.0 to 0.35.0.
Release notes
Sourced from nostr-sdk's releases.
... (truncated)
Changelog
Sourced from nostr-sdk's changelog.
... (truncated)
Commits
e2af742
Release v0.35.0ca76872
book: add NIP05 & NIP19 JavaScript examplesb4fbc00
book: bump tov0.35.0
51f5f37
Revert "ci: fix publish python dir"8d660e0
ci: bumpactions/upload-artifact
tov4
bb0c7cb
ci: fix publish python dir84ceaf5
ffi(nostr): fixgenerate-linux-x86_64.sh
script54fe9c5
cli: enable tor for onion relays3d1bf8d
cli: adj. package metadata6b623ae
Bump to v0.35.0You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show