Releases: rust-nostr/nostr
Release 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
- Bump
uniffi
tov0.27
(Yuki Kishimoto) - Adapted NIP46 to last changes (Yuki Kishimoto)
- nostr: change
Tag::parse
arg fromVec<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 onSingleLetterTag
indeserialize_generic_tags
(Yuki Kishimoto) - nostr: set
UnsignedEvent
ID as optional (Yuki Kishimoto) - nostr: update
TryIntoUrl::try_into_url
fingerprint (Yuki Kishimoto) - nostr: bump
bitcoin
to0.31
(Yuki Kishimoto) - sdk: bump
lnurl-pay
to0.4
(Yuki Kishimoto) - sdk: improve
proxy
options (Yuki Kishimoto) - pool: bump
async-wsocket
to0.4
(Yuki Kishimoto) - pool: return error if
urls
arg is empty inInternalRelayPool::get_events_from
(Yuki Kishimoto) - pool: allow to disable
RelayLimits
(Yuki Kishimoto) - signer: re-work
nip46
module (Yuki Kishimoto) - nwc: avoid to open and close subscription for every request (Yuki Kishimoto)
- nwc: allow to customize requests timeout (Yuki Kishimoto)
- js(nostr): consume
JsEventBuilder
when buildingEvent
orUnsignedEvent
(Yuki Kishimoto)
Added
- Add support to
nostrdb
storage backend (Yuki Kishimoto) - nostr: add
Report::Other
variant (Daniel Cadenas) - nostr: add
EventBuilder::reaction_extended
(Yuki Kishimoto) - nostr: add NIP32 support (rustedmoon)
- pool: add
Relay::handle_notifications
(Yuki Kishimoto) - cli: add command to serve
Nostr Connect
signer (Yuki Kishimoto) - ffi(nostr): added
FilterRecord
, to allow to access fields inFilter
(Yuki Kishimoto) - ffi(nostr): add missing NIP51 constructors (rustedmoon)
- ffi(sdk): add
AbortHandle
(Yuki Kishimoto) - ffi(sdk): add
sqlite
andndb
features (Yuki Kishimoto) - js(nostr): add missing NIP51 constructors (rustedmoon)
- js(nostr): add NIP47 request params and response results structs (Yuki Kishimoto)
- js(sdk): add
NWC
client (Yuki Kishimoto) - js(sdk): add
NostrDatabase::save_event
method (Xiao Yu)
Fixed
- nostr: fix
Tag::content
return alwaysNone
whenTag::Generic
(Yuki Kishimoto) - nostr: fix NIP46
Request::from_message
deserialization (Yuki Kishimoto) - nostr: fix
NostrConnectURI
serialization (Yuki Kishimoto) - nostr: fix
LookupInvoiceParams
(benthecarman) - ffi: fix equality operator (
==
) (Yuki Kishimoto) - js(nostr): fix
Keys
method calls in examples (Xiao Yu)
Removed
- Removed deprecated (Yuki Kishimoto)
Full Changelog: v0.29.0...v0.30.0
Release v0.29.0
What's Changed
- Handle no nwc request params better by @benthecarman in #298
- Make encrypt_private_zap_message pub by @benthecarman in #299
- Better functions for handling decrypting private zaps by @benthecarman in #301
- nostr: not skip serialization of empty lists in
Filter
by @yukibtc in #303 - nostr: add NIP44 calls to NIP07 by @yukibtc in #304
- signer: remove
Version
fromNostrSigner::nip44_encrypt
by @yukibtc in #305 - Dervice more traits for NWC errors by @benthecarman in #306
- add JSON string deserialization for nip15 StallData in nostr-ffi by @aki-mizu in #309
- pool: add
RequestOptions
by @yukibtc in #320 - nostr: adapt
EventBuilder::repost
to last NIP18 changes by @yukibtc in #323 - nostr: update
EventBuilder::reaction
constructor by @yukibtc in #327 - ffi(nostr): convert
RelayMessage
toObject
and addRelayMessageEnum
by @yukibtc in #328 - pool: improve
ReleyPool
shutdown on drop system by @yukibtc in #330 - ffi(nostr): convert
ClientMessage
toObject
and addClientMessageEnum
by @yukibtc in #332 - add StallDataRecord in addition to StallData by @aki-mizu in #335
- Bump
uniffi
and remove no longer neededArc<X>
by @yukibtc in #339 - ffi(nostr): add
Kind
andKindEnum
by @yukibtc in #340 - build(deps): bump mio from 0.8.10 to 0.8.11 by @dependabot in #334
- build(deps): bump aes from 0.8.3 to 0.8.4 by @dependabot in #311
- build(deps): bump thiserror from 1.0.56 to 1.0.57 by @dependabot in #312
- build(deps): bump tokio from 1.35.1 to 1.36.0 by @dependabot in #310
- build(deps): bump rayon from 1.8.1 to 1.9.0 by @dependabot in #314
- add serialization and deserialization for RawEvent in nostr-ffi by @aki-mizu in #342
- Improve
Relay
by @yukibtc in #343 - Improve subscription system by @yukibtc in #346
- Remove trailing slash from relay in NWC uri by @benthecarman in #347
- ffi(sdk): add
NWC
by @yukibtc in #348 - database: add
NostrDatabase::delete
by @yukibtc in #349 - ffi(sdk): add missing constructors/methods to
Relay
by @yukibtc in #350 - ffi(sdk): add
RelayPool
by @yukibtc in #351 - Allow to edit
RelayLimits
by @yukibtc in #353 - ffi(sdk): allow to use custom database by @yukibtc in #354
- Add impl From for UnsignedEvent by @benthecarman in #355
- Re-add support to
Filter::match_event
by @yukibtc in #356 - nostr: allow to specify the whole 5 level path for NIP06 by @yukibtc in #357
- js(nostr): complete
EventBuilder
by @rustedmoon in #266 - nostr: add
Tag::is_reply
method by @yukibtc in #359 - add MetadataRecord for Metadata in nostr-ffi by @aki-mizu in #361
- ffi(sdk): replace
HashMap<Arc<EventId>, Arc<Timestamp>>
withVec<NegentropyItem>
by @yukibtc in #362 - nostr: add
EventBuilder::text_note_reply
by @yukibtc in #363 - nostr: complete NIP51 by @rustedmoon in #344
- make book: just serve OR cargo install just by @RandyMcMillan in #365
New Contributors
- @aki-mizu made their first contribution in #309
- @RandyMcMillan made their first contribution in #365
Full Changelog: v0.28.0...v0.29.0
Release v0.28.0
What's Changed
- Nostr sdk book pages by @w3irdrobot in #245
- Verify unsigned event ids by @benthecarman in #255
- sdk: add
ClientZapper
by @yukibtc in #257 - build(deps): bump h2 from 0.3.23 to 0.3.24 by @dependabot in #256
- Reduce WASM size by @yukibtc in #259
- nostr: use
url
instd
andurl-fork
inno_std
by @yukibtc in #260 - nostr: add support to uppercase
single-letter
tags by @yukibtc in #261 - Make nostr-sdk signing events public by @benthecarman in #263
- Improve
negentropy
reconciliation by @yukibtc in #265 - Updates to remaining NWC extensions by @benthecarman in #207
- Add Relay Service Flags by @yukibtc in #269
- Add support to NIP59 by @yukibtc in #157
- Add
Sealed Direct
messages support by @yukibtc in #270 - sdk: allow to send/get msgs and events to/from specific relays by @yukibtc in #273
- sdk: move
relay
module tonostr-sdk-pool
crate by @yukibtc in #280 - Add encrypted tag kind by @benthecarman in #281
- Improve
ClientSigner
by @yukibtc in #282 - Bump
async-utility
tov0.2.0
andasync-wsocket
tov0.3.0
by @yukibtc in #283 - sqlite: bump
rusqlite
tov0.30
by @yukibtc in #284 - pool: add
Relay::send_req
method by @yukibtc in #285 - build(deps): bump shlex from 1.2.0 to 1.3.0 by @dependabot in #286
- Add POW difficulty check for received events by @yukibtc in #287
- database: use
LruCache
instead ofHashMap
inMemoryDatabase
by @yukibtc in #288 - Rename
ClientSigner
toNostrSigner
by @yukibtc in #289 - database: extend kind-author indexes support by @yukibtc in #290
- nostr: add
PublicKey
andSecretKey
structs by @yukibtc in #295 - Add support to NIP49 by @yukibtc in #296
- Zapper by @yukibtc in #297
Full Changelog: v0.27.0...v0.28.0
Release v0.27.0
What's Changed
- ffi(nostr): complete types module by @rustedmoon in #226
- nostr: add support to anonymous and private zaps by @yukibtc in #151
- sdk: add
ClientSigner
by @yukibtc in #229 - Add NIP07 support by @yukibtc in #228
- Fix typo in README.md by @akiomik in #231
- Add uppercase P tag to Zaps by @benthecarman in #230
- Preserve
Event
de/serialization JSON field order by @yukibtc in #232 - ffi(nostr): complete nips module by @rustedmoon in #225
- Improve database performance by @yukibtc in #233
- Fix some typos by @akiomik in #234
- Fix parsing metadata with non-string types by @benthecarman in #237
- MSRV by @yukibtc in #241
- add try_from implementation for filemetadata from tags vector by @w3irdrobot in #243
- Add
contrib/check-*.sh
scripts by @yukibtc in #242 - doc: Add nip47 pay_invoice example by @rolznz in #248
- contrib: add
scripts/check-book.sh
by @yukibtc in #249 - sdk: replace
wait_for_connection
option withconnection_timeout
by @yukibtc in #250 - Init some nostr book sections by @rustedmoon in #247
New Contributors
Full Changelog: v0.26.0...v0.27.0
Release v0.26.0
What's Changed
- nostr: add NIP90 support by @yukibtc in #187
- ci: add support to
aarch64
python wheels by @yukibtc in #182 - Database by @yukibtc in #178
- sdk: improve negentropy reconciliation by @yukibtc in #192
- nostr: add
GenericTagValue
enum by @yukibtc in #193 - nostr: impl
fmt::LowerHex
forEventId
by @proudmuslim-dev in #194 - nostr: filter out
GenericTagValue
variants that do not adhere to the spec by @proudmuslim-dev in #195 - Fix tag_match behavior for events with empty tags by @darashi in #196
- Fix typo by @rustedmoon in #197
- nostr: refactoring
EventBuilder::profile_badges
by @rustedmoon in #198 - database: add support to event deletion by coordinates by @yukibtc in #200
- database: improve
NostrDatabase::count
method by @yukibtc in #201 - NIP-04: Allow decrypting to raw bytes by @benthecarman in #203
- Improve
DatabaseIndexes::bulk_index
performance by @yukibtc in #202 - ffi: use
uniffi
pro-macro instead ofUDL
by @yukibtc in #204 - Implement
CLOSED
messages by @proudmuslim-dev in #206 - nostr: add support to NIP44 v2 by @yukibtc in #208
- Complete
event
module in nostr-ffi by @rustedmoon in #199 - nostr: add
Tag::PublicKey
by @yukibtc in #213 - ffi: add
Keys::sign_schnorr
by @rustedmoon in #214 - Add
Nip19
for decoding any nip19 object by @jb55 in #215 - nip19: add nevent author by @jb55 in #218
- Fix JS libraries by @yukibtc in #220
- Store deleted coordinates in
DatabaseIndexes
by @yukibtc in #221 - nostr: fix NIP44 v2 by @yukibtc in #223
- ffi(nostr): complete message module by @rustedmoon in #222
New Contributors
- @proudmuslim-dev made their first contribution in #194
- @darashi made their first contribution in #196
- @rustedmoon made their first contribution in #197
- @jb55 made their first contribution in #215
Full Changelog: v0.25.0...v0.26.0
Release v0.25.0
What's Changed
- add extra nip11 fields by @w3irdrobot in #169
- Negentropy Syncing by @yukibtc in #158
- Custom time of reconnect options added by @arkanoider in #172
- sdk: allow to change
Keys
by @yukibtc in #170 - sdk: fix stop and start by @yukibtc in #175
- sdk: fix pong not match if connect method called multiple times by @yukibtc in #177
- sdk: add
Limits
by @yukibtc in #179 - Filters by @yukibtc in #183
- Impl Display and FromStr for Method by @benthecarman in #185
New Contributors
- @arkanoider made their first contribution in #172
Full Changelog: v0.24.0...v0.25.0
Release v0.24.0
What's Changed
- nostr: add support to NIP48 by @yukibtc in #155
- nostr: add support to NIP44 by @yukibtc in #156
- Add
latency
toRelayConnectionStats
by @yukibtc in #117 - fix rustdoc links in documentation by @w3irdrobot in #159
- nostr: verify event id by @arronzhang in #161
- nostr: add
alloc
feature by @yukibtc in #162 - Rename EventBuilder arg by @ok300 in #163
New Contributors
- @arronzhang made their first contribution in #161
Full Changelog: v0.23.0...v0.24.0
Release v0.23.0
What's Changed
- implement nip-39 external identity tag parsing by @w3irdrobot in #110
- Allow to stop and (re)start
Client
by @yukibtc in #112 - sdk: improve
send_msg
method by @yukibtc in #114 - Fix typos by @ok300 in #121
- sdk: add
FilterOptions
by @yukibtc in #124 - Implement serde serializers for NostrWalletConnectURI by @benthecarman in #135
- Feature/add nip 58 support in eventbuilder by @0xtrr in #118
- Add support to
NIP94
by @yukibtc in #139 - fix:
from_pk_str
error typo by @thesimplekid in #140 - nostr: add support to NIP53 by @yukibtc in #141
- add httpdata struct to get http auth information from tags in event by @w3irdrobot in #143
- sdk: add
wait_for_ok
toOptions
by @yukibtc in #145 - Improve subscriptions system by @yukibtc in #148
- Add new functions to NWC by @benthecarman in #152
New Contributors
- @w3irdrobot made their first contribution in #110
- @dluvian made their first contribution in #134
Full Changelog: v0.22.0...v0.23.0
Release v0.22
Crates
- nostr
- nostr-sdk
- nostr-sdk-net
Note
If you are using bitcoin
v0.29 in your deps, use =0.22.0-bitcoin-v0.29
instead of 0.22
.
What's Changed
- Remove amount tag from zap receipt event builder by @0xtrr in #88
- Add lnurl tag by @0xtrr in #87
- Add support for handling NIP-40 Expiration Timestamp by @OverOrion in #89
- Make preimage optional in zap event builder by @0xtrr in #91
- docs: clarify req_events_of behavior by @nickmonad in #93
- nostr: Also accept
displayName
in metadata by @jirijakes in #96 - Add more docs for RelayPoolNotification by @ok300 in #99
- Add support for NIP-58 Badges by @OverOrion in #101
- nostr: remove
thiserror
dep by @yukibtc in #102 - chore: fix typos by @thesimplekid in #106
- Nip47 by @thesimplekid in #103
New Contributors
- @OverOrion made their first contribution in #89
- @nickmonad made their first contribution in #93
Full Changelog: v0.21.0...v0.22.0
Release v0.21
Crates
- nostr
- nostr-sdk
- nostr-sdk-net
- nostr-sdk-sqlite
What's Changed
- Complete NIP46 integration into
nostr-sdk
by @yukibtc in #81 - Refactoring
nostr-sdk
by @yukibtc in #83 - Fix: Relay Tag seralization by @thesimplekid in #82
- Blocking
with_remote_signer
by @thesimplekid in #84 - NIP46 delegation response by @thesimplekid in #85
Full Changelog: v0.20.0...v0.21.0