Skip to content

Releases: yysskk/swift-nostr

0.5.0

16 Jun 01:26
c46495f

Choose a tag to compare

What's Changed

  • chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #67
  • feat: scaffold NostrWalletConnect target with WalletConnectURI by @yysskk in #68
  • feat: add NIP-04 encryption to NostrWalletConnect (NIP04) by @yysskk in #69
  • feat: add encryption scheme facade over NIP-44 and NIP-04 by @yysskk in #70
  • feat: add NIP-47 request/response models, methods, and errors by @yysskk in #71
  • feat: add WalletInfo (kind-13194) parsing and encryption negotiation by @yysskk in #72
  • feat: add WalletConnect transport seam and RelayConnection default by @yysskk in #73
  • feat: add WalletConnection actor with typed commands and notifications by @yysskk in #74
  • feat: add end-to-end zap payment capstone (payZap) by @yysskk in #75
  • feat: make the WebSocket transport seam public and platform-independent by @yysskk in #77
  • docs(docc): add NostrWalletConnect DocC catalog and host both targets by @yysskk in #78
  • docs(docc): add NostrWalletConnect Advanced Usage guide by @yysskk in #79
  • refactor!: remove deprecated closure-based direct message subscription APIs by @yysskk in #80
  • refactor!: remove deprecated closure-based outbox subscription APIs by @yysskk in #81
  • refactor!: remove deprecated closure-based subscription APIs by @yysskk in #83
  • docs(docc): combine both libraries into one site via docc merge by @yysskk in #84
  • chore: remove unused NostrPlayground.playground by @yysskk in #86
  • fix(nip19): validate event kind without overflowing Int on 32-bit platforms by @yysskk in #85
  • ci: build iOS/tvOS/watchOS/visionOS in the test workflow by @yysskk in #82
  • build: scaffold the NostrCore library target by @yysskk in #87
  • refactor: extract leaf Nostr primitives into NostrCore by @yysskk in #88
  • refactor: move identity and crypto primitives into NostrCore by @yysskk in #89
  • refactor: split EventSigner between NostrCore and NostrClient by @yysskk in #90
  • refactor: move the WebSocket transport seam into NostrCore by @yysskk in #91
  • refactor: move the single-relay RelayConnection into NostrCore by @yysskk in #92
  • refactor: make NostrWalletConnect depend on NostrCore only by @yysskk in #93
  • fix(bech32)!: throw on a non-ASCII human-readable part by @yysskk in #94
  • docs: add NostrCore DocC catalog and document the three-library structure by @yysskk in #95
  • docs: add try to npub/nsec examples now that the accessors throw by @yysskk in #96
  • docs: scope the NostrClient abstract to its library and align the llms summaries by @yysskk in #97
  • chore: rename the Swift package to swift-nostr and update the CI scheme by @yysskk in #98
  • chore: point the docs build at the swift-nostr GitHub Pages path by @yysskk in #99
  • docs: update repository URLs and package references to swift-nostr by @yysskk in #100
  • docs: update llms docs and the issue template to swift-nostr by @yysskk in #101
  • docs: retitle the README to Swift Nostr by @yysskk in #102

Full Changelog: 0.4.0...0.5.0

0.4.0

13 Jun 21:43
a9ae114

Choose a tag to compare

What's Changed

  • feat: parse machine-readable prefixes from OK and CLOSED relay messages by @yysskk in #41
  • feat: add NIP-42 client authentication to RelayConnection by @yysskk in #42
  • feat: answer NIP-42 AUTH challenges automatically by @yysskk in #43
  • feat: retry after auth-required and finalize NIP-42 documentation by @yysskk in #44
  • feat: add NIP-17 DM relay list (kind 10050) model by @yysskk in #45
  • feat: add NIP-17 DM relay list discovery and publishing by @yysskk in #46
  • feat: route NIP-17 direct messages via kind 10050 DM relays by @yysskk in #48
  • ci: add Android cross-compilation build check by @yysskk in #47
  • Harden NIP-42 and NIP-17 DM-relay handling by @yysskk in #49
  • Add NIP-40 expiration for disappearing messages by @yysskk in #50
  • Add NIP-25 reactions to private direct messages by @yysskk in #51
  • Add NIP-17 encrypted file messages (kind 15) by @yysskk in #52
  • Add NIP-57 zap request (kind 9734) and LNURL helpers by @yysskk in #53
  • refactor(tests): extract URLProtocol mock into shared Support helper by @yysskk in #54
  • feat: add NIP-57 invoice retrieval (LNURLPayResponse.fetchInvoice) by @yysskk in #55
  • fix: prevent raw URLError leaking past FetchError on cancellation race by @yysskk in #57
  • feat: add BOLT-11 invoice decoding (Bolt11Invoice) by @yysskk in #56
  • feat: add NIP-57 zap receipt verification (ZapReceipt) by @yysskk in #58
  • refactor(crypto): tidy EventSigner and relocate UserMetadata by @yysskk in #59
  • refactor(dm): dedup gift-wrap self-copy and unify parser tag extraction by @yysskk in #60
  • refactor(nip19): share bech32/TLV round-trip helpers across entity types by @yysskk in #61
  • refactor(outbox): collapse deprecated subscribeOutbox overloads by @yysskk in #62
  • refactor(relay): split RelayConnection into focused extension files by @yysskk in #63
  • docs: fill in missing public-symbol doc comments by @yysskk in #64
  • docs(docc): expand the DocC catalog to match the public API by @yysskk in #65
  • docs(readme): simplify the README and defer depth to DocC by @yysskk in #66

Full Changelog: 0.3.0...0.4.0

0.3.0

11 Jun 13:55
1288472

Choose a tag to compare

What's Changed

  • fix: replace unbounded Task spawning with async handler for backpressure by @yysskk in #12
  • docs: add DocC catalog, GitHub Pages deployment, and llms.txt by @yysskk in #11
  • feat: add NIP-11 relay information document support by @yysskk in #13
  • chore(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #14
  • fix: populate display_name in fetchMetadata by @yysskk in #16
  • chore(deps): bump actions/upload-pages-artifact from 4 to 5 by @dependabot[bot] in #15
  • chore: introduce swift-format and extend CI (lint, macOS, coverage) by @yysskk in #17
  • feat: add NIP-19 TLV entities (note, nprofile, nevent, naddr) by @yysskk in #18
  • feat: add NIP-65 relay list metadata with outbox/gossip routing (kind 10002) by @yysskk in #19
  • fix: guard sendPing continuation against double resume in connect() by @yysskk in #20
  • ci: add Claude Code Review workflow for pull requests by @yysskk in #21
  • feat: add PublishStrategy with first-ack early return and fail-fast publish path by @yysskk in #22
  • feat: replace receive-loop idle timeout with ping keepalive and split timeouts by @yysskk in #23
  • feat: add NIP-17 self-copy support to sendDirectMessage by @yysskk in #24
  • feat: return per-relay publish results from RelayPool.publish by @yysskk in #25
  • fix: share the in-flight connection attempt across concurrent connect calls by @yysskk in #26
  • feat: return PublishedEvent with per-relay outcome from convenience publish methods by @yysskk in #27
  • feat: deliver subscriptions as async sequences by @yysskk in #28
  • feat: add typed Tag for building event tags by @yysskk in #29
  • feat: make Event.Kind an open RawRepresentable struct by @yysskk in #30
  • feat: deliver parsed direct messages as an async sequence by @yysskk in #31
  • feat: add NostrError.signerNotSet for missing-signer failures by @yysskk in #32
  • chore: remove APIs deprecated in 0.2.x by @yysskk in #33
  • feat: add connect(to:) one-step relay setup by @yysskk in #34
  • docs: refresh documentation for the new API surface by @yysskk in #35
  • chore: replace specific third-party service names with example placeholders by @yysskk in #36
  • refactor: abstract RelayConnection's WebSocket behind a protocol by @yysskk in #37
  • chore: migrate secp256k1 to 21-DOT-DEV/swift-secp256k1 and bump to 0.23.2 by @yysskk in #39
  • refactor: inject the WebSocket transport through RelayPool and NostrClient by @yysskk in #38
  • refactor: split the NostrClient god object into feature extensions by @yysskk in #40

Full Changelog: 0.2.0...0.3.0

0.2.0

09 Apr 22:39
72df0b4

Choose a tag to compare

What's Changed

  • chore: add Dependabot configuration by @yysskk in #2
  • chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #3
  • chore: setup issue template by @yysskk in #4
  • chore: create PULL_REQUEST_TEMPLATE.md by @yysskk in #5
  • fix: make Subscription a value type to ensure proper Sendable conformance by @yysskk in #6
  • fix: restore subscriptions after relay reconnection by @yysskk in #7
  • feat: use SecRandomCopyBytes for cryptographic random byte generation by @yysskk in #8
  • fix: return early from fetch() when EOSE is received by @yysskk in #9
  • fix: correct fetch EOSE waiting and add SubscriptionEvent by @yysskk in #10

New Contributors

Full Changelog: 0.1.0...0.2.0

0.1.0

30 Jan 22:31
bf546f3

Choose a tag to compare

What's Changed

  • feat: refactor DM architecture and add relay auto-reconnect with configurable settings by @yysskk in #1

New Contributors

  • @yysskk made their first contribution in #1

Full Changelog: https://github.com/yysskk/swift-nostr-client/commits/0.1.0