PLAY PODCASTS
Nostr Compass #16

Nostr Compass #16

Nostr Compass Podcast · Nostr Compass

April 5, 20261h 4m

Audio is streamed directly from the publisher (blossom.primal.net) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

### News - **00:00 Amethyst ships pinned notes, relay management, and Request to Vanish** Amethyst shipped six releases from v1.07.0 through v1.07.5 in three days. The headline features span pinned notes, a polls feed, [NIP-62](/en/topics/nip-62/) Request to Vanish for requesting full event deletion from relays, [NIP-86](/en/topics/nip-86/) relay management API directly from the client, [NIP-66](/en/topics/nip-66/) relay liveness in the info screen, and [NIP-43](/en/topics/nip-43/) member info display. v1.07.2 added GIF keyboard uploads and fixed an Amber signing regression, and v1.07.5 fixes an image uploading crash. - **01:44 NIP-5A merges, bringing static websites to Nostr** [NIP-5A](https://github.com/nostr-protocol/nips/blob/master/5A.md) merged via [PR #1538](https://github.com/nostr-protocol/nips/pull/1538), defining kind `15128` for root sites and kind `35128` for named sites. Each manifest maps URL paths to SHA256 hashes, with `server` tags pointing to [Blossom](/en/topics/blossom/) storage hosts. A host server resolves the author's pubkey from the subdomain, fetches the manifest from the author's relay list, and serves files by downloading matching blobs. Existing implementations include [nsite](https://github.com/lez/nsite) and [nsite-manager](https://github.com/hzrd149/nsite-manager). - **09:16 White Noise fixes relay churn and expands client controls** White Noise shipped [v2026.3.23](https://github.com/marmot-protocol/whitenoise/releases/tag/v2026.3.23) with quorum-based relay-list publishing, scoped ephemeral relay sessions, NIP-C7 reply threading, deleted message placeholders, in-app bug reports via [NIP-44](/en/topics/nip-44/) anonymous reports, chat archiving, mute with configurable durations, notification settings, and preparatory push-registration work for iOS and Android. - **11:33 Nostr VPN reaches v0.3.0 with roster sync and invite v2** [nostr-vpn](https://github.com/mmalmi/nostr-vpn) shipped through [v0.3.3](https://github.com/mmalmi/nostr-vpn/releases/tag/v0.3.3) with two breaking changes: invite format v2 and admin-signed roster sync. An admin node can now push membership changes to all peers without manual per-peer configuration updates. - **13:22 nospeak launches as a 1.0 private messenger** [nospeak](https://github.com/psic4t/nospeak) shipped [1.0.0](https://github.com/psic4t/nospeak/releases/tag/v1.0.0) with [NIP-17](/en/topics/nip-17/) one-on-one chats using [NIP-59](/en/topics/nip-59/) gift wrap and [NIP-44](/en/topics/nip-44/) encryption, AES-256-GCM media encryption before upload to Blossom, and a self-hostable container deployment. - **13:49 Flotilla v1.7.0 adds voice rooms and email login** [Flotilla](https://gitea.coracle.social/coracle/flotilla) shipped [v1.7.0](https://gitea.coracle.social/coracle/flotilla/src/tag/1.7.0) and [v1.7.1](https://gitea.coracle.social/coracle/flotilla/src/tag/1.7.1) with voice rooms contributed by mplorentz, email/password login, proof-of-work DMs, DM editing, Blossom support detection, Android push notification fallback, and redesigned relay onboarding. The voice room join dialog solves a UX problem where entering a voice-enabled room previously forced microphone activation. - **19:02 Caravel** [Caravel](https://gitea.coracle.social/coracle/caravel), hodlbod's new hosting manager and dashboard for zooid relays, logged 40 commits this week in initial development. - **20:15 Nymchat ships Marmot-powered group chats** [Nymchat](https://github.com/Spl0itable/NYM) announced all new group chats now use the [Marmot](/en/topics/marmot/) protocol for MLS-encrypted messaging with [NIP-17](/en/topics/nip-17/) fallback. The v3.55 and v3.56 series fixed group chat edge cases, patched an XSS vulnerability, and added keyword/phrase blocking. This makes Nymchat another Marmot client joining White Noise and OpenChat. ### Releases - **21:28 Calendar by Form* v1.0.0** [Calendar by Form*](https://github.com/formstr-hq/nostr-calendar) reached [v1.0.0](https://github.com/formstr-hq/nostr-calendar/releases/tag/v1.0.0) with private calendar lists using encrypted kind `32123` events with [NIP-44](/en/topics/nip-44/) self-encryption, ICS intent handling, and invitation requests. - **22:08 Amber v5.0.2 through v5.0.4** [Amber](https://github.com/greenart7c3/Amber) shipped three point releases adding mnemonic recovery phrase login, a [NIP-42](/en/topics/nip-42/) relay auth whitelist, and encryption scope selection for decrypt permissions. v5.0.4 fixes scoped permission handling and improves bunker request performance. - **24:24 Aegis v0.4.0** [Aegis](https://github.com/ZharlieW/Aegis) shipped [v0.4.0](https://github.com/ZharlieW/Aegis/releases/tag/v0.4.0) with Full and Selective authorization modes, QR-scanning fixes, batch select controls, and per-permission usage statistics. - **24:45 Schemata v0.2.7 through v0.3.0** [Schemata](https://github.com/nostrability/schemata) shipped four releases with 21 merged PRs. v0.3.0 brings pattern consistency fixes across relay URLs, hex IDs, MIME types, and BOLT-11 strings, NIP-19 bech32 base type schemas, and kind 777 spell event validation. The release pipeline now publishes a kind `1` note on each release. Schemata now supports 12+ languages beyond JS/TS. - **26:52 BigBrotr v6.5.0 through v6.5.4** [BigBrotr](https://github.com/BigBrotr/bigbrotr) shipped five releases with centralized relay URL validation, geohash location tags for announcement events, [NIP-66](/en/topics/nip-66/) timeout protection, and a PostgreSQL 16 to 18 upgrade. - **30:09 Vertex Lab relay adds NIP-50 profile search** [Vertex Lab](https://vertexlab.io) announced `wss://relay.vertexlab.io` now supports [NIP-50](/en/topics/nip-50/) profile search, combining full-text user discovery with existing Web of Trust data. - **30:50 Hashtree v0.2.17 and v0.2.18 ship WebRTC mesh and Iris Desktop** [Hashtree](https://github.com/mmalmi/hashtree) shipped two releases adding WebRTC peer-to-peer blob distribution, Windows build artifacts, and Iris Desktop 0.1.0 bundled as AppImage, .deb, and Windows installer. - **32:01 Nostr Mail Client v0.7.0 through v0.7.2** [Nostr Mail Client](https://github.com/nogringo/nostr-mail-client) shipped three releases with onboarding, profile editing, and fresh Android and Linux builds. - **32:30 Wisp v0.14.0 through v0.16.1** [Wisp](https://github.com/barrydeen/wisp) shipped 13 releases with NIP-17 rumor JSON fixes, repost badges, expandable reaction details, persistent emoji sets, and video autoplay controls. - **33:49 Primal Android 3.0.17** [Primal Android](https://github.com/PrimalHQ/primal-android-app) shipped [3.0.17](https://github.com/PrimalHQ/primal-android-app/releases/tag/3.0.17) with [NIP-47](/en/topics/nip-47/) structured error codes, a poll zap vote fix, and wallet balance visibility fix. - **34:19 OpenChat v0.2.4 through v0.3.0** [OpenChat](https://github.com/DavidGershony/openChat) shipped six releases adding [NIP-42](/en/topics/nip-42/) relay auth, voice message controls (pause, resume, seek), Amber connection fixes, AES-256-GCM secure storage on Linux/macOS, and [NIP-65](/en/topics/nip-65/) relay discovery with local metadata caching. - **35:14 Igloo Signer 1.1** [Igloo](https://github.com/FROSTR-ORG/igloo-ios-prototype) shipped [v1.1](https://github.com/FROSTR-ORG/igloo-ios-prototype/releases/tag/v1.1), the iOS [FROST](/en/topics/frost/) threshold signer from the FROSTR project. FROST signatures let a group of signers collectively control a Nostr keypair where any t-of-n participants can sign without any single party holding the full key. - **36:23 nak v0.19.3 and v0.19.4** [nak](https://github.com/fiatjaf/nak) shipped two releases fixing panic conditions in string splitting and curl flag parsing. - **36:34 Flora v0.3.0** [Flora](https://github.com/shawnyeager/flora-extension) shipped [v0.3.0](https://github.com/shawnyeager/flora-extension/releases/tag/v0.3.0) adding private encrypted video sharing with AES-256-GCM via [NIP-17](/en/topics/nip-17/). - **37:04 YakiHonne Mobile 2.0.3** [YakiHonne](https://github.com/YakiHonne/mobile-app) shipped [2.0.3](https://github.com/YakiHonne/mobile-app/releases/tag/YakiHonne-2.0.3) with relay reviews, nested replies, auto-translation, and NWC multi-relay support. ### Project Updates - **37:31 Zap Cooking adds zap polls and Branta payment verification** [Zap Cooking](https://github.com/zapcooking/frontend) merged 11 PRs adding zap polls (kind 6969) and [Branta](https://branta.pro/) payment destination verification with camera-based QR scanning. - **38:13 diVine lays groundwork for unified search and hardens video delivery** [diVine](https://github.com/divinevideo/divine-mobile) added a unified search screen foundation, shared pagination controller, video delivery retry with fallback to raw blobs, and resumable upload recovery. - **38:39 Shopstr adds custom storefronts and Milk Market keeps shipping marketplace work** [Shopstr](https://github.com/shopstr-eng/shopstr) added custom storefronts. [Milk Market](https://github.com/shopstr-eng/milk-market) continued with storefront optimizations, account recovery, and beef splits. - **41:21 Notedeck adds sound effects and extends its updater path toward Android** [Notedeck](https://github.com/damus-io/notedeck) added a sound effects subsystem and Agentium CLI updates. An open PR proposes APK self-update via Nostr/Zapstore on Android. - **41:53 Nostria adds repost relay hints and NIP-98 alignment** [Nostria](https://github.com/nostria-app/nostria) added [NIP-18](/en/topics/nip-18/) repost relay hints, aligned HTTP auth with [NIP-98](/en/topics/nip-98/), and added Schemata validation tests. - **43:20 Nostr-Doc adds desktop packaging and offline-first work** [Nostr-Doc](https://github.com/formstr-hq/nostr-docs) added desktop app packaging, native app work, offline-first behavior, and Ctrl+S save. - **43:59 rust-nostr optimizes NIP-21 parsing and adds relay-side NIP-62 support** [rust-nostr](https://github.com/rust-nostr/nostr) optimized NIP-21 URI parsing and has four open PRs adding [NIP-62](/en/topics/nip-62/) support across memory, LMDB, SQLite, and database test backends. - **44:20 nostr-tools adds bunker relay control and fixes NIP-47 multi-relay parsing** [nostr-tools](https://github.com/nbd-wtf/nostr-tools) added `skipSwitchRelays` for manual bunker relay management and fixed [NIP-47](/en/topics/nip-47/) connection string parsing for multiple relays. - **44:36 Nostrability integrates Sherlock audit data and publishes Schemata overview** [Nostrability](https://github.com/nostrability/nostrability) merged 14 PRs integrating Sherlock scan statistics into the dashboard with per-client schema fail rates. elsat published a Schemata overview covering 179 event kind schemas across 65 NIPs. - **46:04 Nalgorithm adds digest generation and local score caching** [Nalgorithm](https://github.com/jooray/nalgorithm) started public development with a relevance-ranked feed, CLI digest tool for spoken-word summaries, and file-based score caching with incremental preference learning. - **46:54 TENEX adds RAG vector store and targeted MCP startup** [TENEX](https://github.com/tenex-chat/tenex) added a pluggable vector store (SQLite-vec, LanceDB, Qdrant), targeted MCP startup, and a proactive `send_message` tool for Telegram-bound agents. - **48:21 Dart NDK moves Amber signer and adds Alby Go 1-click** [Dart NDK](https://github.com/relaystr/ndk) moved Amber signer support into ndk_flutter and added Alby Go one-click wallet connection. - **48:44 Marmot moves KeyPackages to addressable events and tightens push notifications** The [Marmot spec](https://github.com/marmot-protocol/marmot) migrated KeyPackage events from regular `kind:443` to addressable `kind:30443`, allowed non-admin SelfRemove, required admins to relinquish status before departure, and tightened MIP-05 push notification wire format. ### NIP Updates - **50:48 NIP-5A: Static Websites (PR #1538)** Merged. Kind `15128` and `35128` manifest events for hosting static websites under Nostr keypairs using Blossom storage. - **51:10 NIP-30: Custom Emoji** Merged via [PR #2297](https://github.com/nostr-protocol/nips/pull/2297). Allows hyphens in shortcodes, documenting existing usage. - **51:33 NIP-C1: Agent TUI Messages (PR #2295)** Proposes structured message format for agents to send interactive UI elements (text, buttons, card, table) through encrypted DMs using existing [NIP-17](/en/topics/nip-17/) and [NIP-04](/en/topics/nip-04/) content as JSON. - **51:58 NIP-95: Hybrid Peer-to-Peer Relay Protocol (PR #2293)** Proposes relays coordinating peer-to-peer event distribution over WebRTC, with stable clients as Super Peers and the relay as seed node and fallback. - **52:27 NIP-B9: Zap Poll Events (PR #2284)** Reopens zap-poll idea with kind `6969` poll definitions and kind `9734` zaps as votes for economic Sybil resistance, complementing free NIP-88 polls. - **52:49 NIP-AD: Super Zap (PR #2289)** Proposes zaps to relay/client pubkeys displayed as promotional notes, turning zap receipts into an ad surface with minimum-sats spam thresholds. - **53:16 NIP-XX: Agent Reputation Attestations (PR #2285)** Proposes kind `30085` for structured reputation attestations with temporal decay, negative ratings with evidence, and graph-diversity Sybil resistance. - **53:55 NIP-XX: Paid API Service Announcements (PR #2291)** Proposes kind `31402` for advertising paid HTTP APIs with tags-first filtering and optional request/response schemas. - **54:25 NIP-XX: Key Derivation from LNURL-auth via SplitSig (PR #2294)** Proposes deriving a Nostr keypair from an LNURL-auth ECDSA signature combined with a client-side nonce, using the Lightning wallet as recovery anchor. - **55:25 NIP-55: Document rejected field (PR #2290)** Documents the `rejected` field for intent-based signer responses, formalizing the behavior Amethyst's v1.07.x fix had to work around. ### NIP Deep Dives - **55:46 NIP Deep Dive: NIP-5A (Static Websites)** [NIP-5A](https://github.com/nostr-protocol/nips/blob/master/5A.md) defines how kind `15128`/`35128` manifests map paths to SHA256 hashes, the three-part serving flow (host server, Blossom storage, author's signed manifest), DNS subdomain format with base36 encoding limited to 13-character `d` tags, and why any component (author, Blossom server, host server) is independently replaceable. - **1:00:12 NIP Deep Dive: NIP-62 (Request to Vanish)** [NIP-62](https://github.com/nostr-protocol/nips/blob/master/62.md) defines kind `62` for requesting full event deletion. Targeted requests use specific `relay` tags, global requests use `ALL_RELAYS`. Goes beyond NIP-09 in scope (everything vs. individual events) and strength (MUST comply vs. MAY comply). Includes gift wrap cleanup and sticky deletion preventing re-broadcast. Amethyst ships client-side support while rust-nostr has relay-side PRs open in the same week. The design resolves the censorship-resistance tension by limiting the request to self-directed deletion.