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