25
25
26
26
-->
27
27
28
+ ## Unreleased
29
+
30
+ ### Added
31
+
32
+ * mls-storage: add new crate with traits and types for mls storage implementations ([ JeffG] )
33
+
28
34
## v0.41.0 - 2025/04/15
29
35
30
36
### Breaking changes
73
79
74
80
### Summary
75
81
76
- Add NIP-38 and NIP-62 support, add nostr parser, to easily parse any text and extract nostr URIs, URLs and more,
77
- extend ` Tags ` capabilities (i.e., add deduplication support), add admission policies, to selectively select which events to allow receiving and which to reject,
82
+ Add NIP-38 and NIP-62 support, add nostr parser, to easily parse any text and extract nostr URIs, URLs and more,
83
+ extend ` Tags ` capabilities (i.e., add deduplication support), add admission policies, to selectively select which events to allow receiving and which to reject,
78
84
add Mac Catalyst support for Swift package, many cleanups, refactoring and performance improvements and more!
79
85
80
86
### Breaking changes
@@ -99,7 +105,7 @@ add Mac Catalyst support for Swift package, many cleanups, refactoring and perfo
99
105
* pool: remove ` Relay ` constructors ([ Yuki Kishimoto] )
100
106
* pool: change ` RelayPool::new ` signature ([ Yuki Kishimoto] )
101
107
* pool: now can set the notification channel size of a single ` Relay ` using ` RelayOptions ` ([ magine] )
102
- * sdk: change ` Client::fetch_metadata ` output ([ Yuki Kishimoto] )
108
+ * sdk: change ` Client::fetch_metadata ` output ([ Yuki Kishimoto] )
103
109
* sdk: remove ` Client::state ` ([ Yuki Kishimoto] )
104
110
105
111
### Changed
@@ -183,7 +189,7 @@ add Mac Catalyst support for Swift package, many cleanups, refactoring and perfo
183
189
### Summary
184
190
185
191
Add NIP96 support, add NIP22 helpers, NIP01 adjustments, add ` try_connect ` and ` wait_for_connection ` methods for better connection handling,
186
- support for custom WebSocket clients (both in Rust, Python, Kotlin and Swift), new JVM bindings,
192
+ support for custom WebSocket clients (both in Rust, Python, Kotlin and Swift), new JVM bindings,
187
193
huge reduction of UniFFI bindings binaries size, many cleanups, refactoring and performance improvements and more!
188
194
189
195
### Breaking changes
@@ -345,7 +351,7 @@ NIP35 support, better logs and docs, performance improvements, bugs fix and more
345
351
* nostr: include public key of root and parent author in ` EventBuilder::comment ` ([ Yuki Kishimoto] )
346
352
* nostr: dedup tags in ` EventBuilder::text_note_reply ` and ` EventBuilder::comment ` ([ Yuki Kishimoto] )
347
353
* nostr: don't use reply event as root ` e ` tag i no root is set in ` EventBuilder::text_note_reply ` ([ Yuki Kishimoto] )
348
- * database: add manual trait implementations for ` BTreeCappedSet ` ([ Yuki Kishimoto] )
354
+ * database: add manual trait implementations for ` BTreeCappedSet ` ([ Yuki Kishimoto] )
349
355
* database: replace LRU with custom memory cache for IDs tracking ([ Yuki Kishimoto] )
350
356
* lmdb: use ` async-utility ` to spawn blocking tasks ([ Yuki Kishimoto] )
351
357
* ndb: bump ` nostr-ndb ` to 0.5 ([ Yuki Kishimoto] )
@@ -362,7 +368,7 @@ NIP35 support, better logs and docs, performance improvements, bugs fix and more
362
368
* sdk: refactor POW difficulty management ([ Yuki Kishimoto] )
363
369
* connect: require ` fmt::Debug ` , ` Send ` and ` Sync ` for ` AuthUrlHandler ` ([ Yuki Kishimoto] )
364
370
* connect: improve secret matching for ` NostrConnectRemoteSigner ` ([ Yuki Kishimoto] )
365
- * connect: support both NIP04 and NIP44 for message decryption ([ erskingardner ] )
371
+ * connect: support both NIP04 and NIP44 for message decryption ([ JeffG ] )
366
372
* zapper: bump ` webln ` to 0.4 ([ Yuki Kishimoto] )
367
373
* zapper: require ` fmt::Debug ` , ` Send ` and ` Sync ` for ` NostrZapper ` ([ Yuki Kishimoto] )
368
374
* bindings: refactor ` SendEventOutput ` and ` SubscribeOutput ` ([ Yuki Kishimoto] )
@@ -371,7 +377,7 @@ NIP35 support, better logs and docs, performance improvements, bugs fix and more
371
377
372
378
* nostr: add ` Tags::challenge ` method ([ Yuki Kishimoto] )
373
379
* nostr: add ` RelayUrl::is_local_addr ` ([ Yuki Kishimoto] )
374
- * nostr: add ` TagKind::k ` constructor ([ Yuki Kishimoto] )
380
+ * nostr: add ` TagKind::k ` constructor ([ Yuki Kishimoto] )
375
381
* nostr: impl ` IntoIterator ` for ` Tag ` ([ Yuki Kishimoto] )
376
382
* nostr: add NIP35 support ([ 1wErt3r] )
377
383
* nostr: add ` Kind::is_addressable ` and ` ADDRESSABLE_RANGE ` ([ Yuki Kishimoto] )
@@ -425,15 +431,15 @@ NIP35 support, better logs and docs, performance improvements, bugs fix and more
425
431
426
432
### Summary
427
433
428
- Add support to NIP17 relay list in SDK (when ` gossip ` option is enabled), add NIP22 and NIP73 support,
434
+ Add support to NIP17 relay list in SDK (when ` gossip ` option is enabled), add NIP22 and NIP73 support,
429
435
fix Swift Package, many performance improvements and bug fixes and more!
430
436
431
437
From this release all the rust features are disabled by default (except ` std ` feature in ` nostr ` crate).
432
438
433
439
### Breaking changes
434
440
435
441
* Use ` RelayUrl ` struct instead of ` Url ` for relay urls ([ Yuki Kishimoto] )
436
- * nostr: change ` EventBuilder::gift_wrap ` (and linked methods) args to take ` extra_tags ` instead of ` expiration ` ([ erskingardner ] )
442
+ * nostr: change ` EventBuilder::gift_wrap ` (and linked methods) args to take ` extra_tags ` instead of ` expiration ` ([ JeffG ] )
437
443
* nostr: change ` EventBuilder::gift_wrap ` (and linked methods) args to take an ` EventBuilder ` rumor instead of ` UnsignedEvent ` ([ Yuki Kishimoto] )
438
444
* nostr: change ` EventBuilder::private_msg_rumor ` arg to take ` extra_tags ` instead of ` reply_to ` ([ Yuki Kishimoto] )
439
445
* nostr: remove ` tags ` arg from ` EventBuilder::new ` ([ Yuki Kishimoto] )
@@ -467,7 +473,7 @@ From this release all the rust features are disabled by default (except `std` fe
467
473
* pool: update retry interval calculation ([ Yuki Kishimoto] )
468
474
* pool: try fetch relay information document only once every hour ([ Yuki Kishimoto] )
469
475
* pool: not allow to add relays after ` RelayPool ` shutdown ([ Yuki Kishimoto] )
470
- * pool: rename ` RelayOptions::retry_sec ` to ` RelayOptions::retry_interval ` ([ Yuki Kishimoto] )
476
+ * pool: rename ` RelayOptions::retry_sec ` to ` RelayOptions::retry_interval ` ([ Yuki Kishimoto] )
471
477
* pool: rename ` RelayOptions::adjust_retry_sec ` to ` RelayOptions::adjust_retry_interval ` ([ Yuki Kishimoto] )
472
478
* pool: request NIP11 document only after a successful WebSocket connection ([ Yuki Kishimoto] )
473
479
* pool: immediately terminate relay connection on ` Relay::disconnect ` call ([ Yuki Kishimoto] )
@@ -485,7 +491,7 @@ From this release all the rust features are disabled by default (except `std` fe
485
491
486
492
### Added
487
493
488
- * nostr: add NIP104 tag and event kinds ([ erskingardner ] )
494
+ * nostr: add NIP104 tag and event kinds ([ JeffG ] )
489
495
* nostr: add ` SingleLetterTag::as_str ` and ` TagKind::as_str ` ([ Yuki Kishimoto] )
490
496
* nostr: add ` Kind::Comment ` ([ reyamir] )
491
497
* nostr: add ` EventBuilder::comment ` ([ reyamir] )
@@ -674,7 +680,7 @@ Note for devs who are using `nostr-protocol` (Python), `org.rust-nostr:nostr` (K
674
680
675
681
### Summary
676
682
677
- Add gossip model support, deprecate ` SQLite ` database in favor of ` LMDB `
683
+ Add gossip model support, deprecate ` SQLite ` database in favor of ` LMDB `
678
684
(fork of [ pocket] ( https://github.com/mikedilger/pocket ) database),
679
685
add support to negentropy v1 (old version is still supported!), add ` MockRelay ` (a local disposable relay for tests),
680
686
allow usage of embedded tor client on mobile devices, many improvements, bugs fix and more!
@@ -811,7 +817,7 @@ allow usage of embedded tor client on mobile devices, many improvements, bugs fi
811
817
Add embedded tor client support, allow to open databases with a limited capacity (automatically discard old events when max capacity is reached),
812
818
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),
813
819
add search capability (NIP50) support to ` Filter::match_event ` and databases, add NIP31 and NIP70 support,
814
- add option to autoconnect relay on ` Client::add_relay ` method call (currently disabled by default), rework the ` get_events_of ` methods behaviour for
820
+ add option to autoconnect relay on ` Client::add_relay ` method call (currently disabled by default), rework the ` get_events_of ` methods behaviour for
815
821
better consistency (` RelayPool::get_events_of ` and ` Relay::get_events_of ` get events only from remote relay/s while
816
822
` Client::get_events_of ` allow to choose the source of events: ` database ` , ` relays ` or ` both ` ), bugs fix and more!
817
823
@@ -895,7 +901,7 @@ better consistency (`RelayPool::get_events_of` and `Relay::get_events_of` get ev
895
901
896
902
Better outputs for send/batch/reconcile methods (ex. you can now easily know where a message/event is successfully published and where/why failed),
897
903
allow to change NIP42 option after client initialization, increase max stack size for JS bindings to prevent "memory access out of bounds" error,
898
- expose more objects/methods for JS bindings, dry run option for negentropy reconciliation, get NIP46 relay from NIP05 profile,
904
+ expose more objects/methods for JS bindings, dry run option for negentropy reconciliation, get NIP46 relay from NIP05 profile,
899
905
bug fixes (NIP-42 auth not works correctly, NIP-46 "ACK" message not handled, ...) and more!
900
906
901
907
### Changed
@@ -1214,7 +1220,7 @@ added `nostrdb` storage backend, added NIP32 and completed NIP51 support and mor
1214
1220
[ w3irdrobot ] : < https://github.com/w3irdrobot > ( nostr:npub17q5n2z8naw0xl6vu9lvt560lg33pdpe29k0k09umlfxm3vc4tqrq466f2y )
1215
1221
[ nanikamado ] : < https://github.com/nanikamado > ( ? )
1216
1222
[ rodant ] : < https://github.com/rodant > ( nostr:npub1w80jzxf36fhwgyfp622m6s7tcl3cy5z7xva4cy75q9kwm92zm8tsclzqjv )
1217
- [ erskingardner ] : < https://github.com/erskingardner > ( nostr:npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc )
1223
+ [ JeffG ] : < https://github.com/erskingardner > ( nostr:npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc )
1218
1224
[ J. Azad EMERY ] : < https://github.com/ethicnology > ( ? )
1219
1225
[ v0l ] : < https://github.com/v0l > ( nostr:npub1v0lxxxxutpvrelsksy8cdhgfux9l6a42hsj2qzquu2zk7vc9qnkszrqj49 )
1220
1226
[ arkanoider ] : < https://github.com/arkanoider > ( nostr:npub1qqpn4ym6tc5ul6d2kjxnzx3sv9trekp53678ut9fe3wrxa6yvhjsnql2ng )
0 commit comments