Releases: yysskk/swift-nostr
Releases · yysskk/swift-nostr
0.5.0
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
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
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
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
- @dependabot[bot] made their first contribution in #3
Full Changelog: 0.1.0...0.2.0