### News
- **00:00 Intro**
Episode 20 follows Nostr Compass #20 across lead stories, tagged releases, unreleased changes, protocol work, and a multi-year April retrospective.
- **00:33 GitWorkshop ships in-browser PR merge, repository following, and a bandwidth-efficient git explorer**
GitWorkshop added in-browser PR merge for GRASP repos, repository stars and follows via NIP-51 lists, and a more efficient git explorer built on GRASP's client/server model. It also introduced kind 1111 inline review comments with NIP-22 and NIP-32-based experimental moderation primitives.
- **07:55 Routstrd launches a local router for inference over Nostr**
Routstrd is a local OpenAI-compatible daemon that discovers providers through kind 38421 announcements and routes requests using RIP scoring and failover. It pays providers with Cashu through local wallet tooling and keeps provider discovery and routing on Nostr.
### Releases
- **17:08 ngit v2.4.2 fixes GRASP server detection for PR submissions**
ngit v2.4.2 fixes GRASP server detection for PR-kind submissions, while v2.4.1 fixed clone and fetch failures when open PR git data was missing from specified servers.
- **17:54 Wisp v1.0.0 graduates from beta**
Wisp shipped v1.0.0 and v1.0.2, carrying forward Normie Mode, For You feed, NIP-29 group config, and NIP-65 broadcast from prior work. v1.0.2 adds Android 15 page-size support, QR scan tab access, inline video download, and notification list performance fixes.
- **20:25 grain v0.5.2 fixes WebSocket lockup, v0.5.3 continues polish**
grain shipped v0.5.2 as a critical lockup fix for WebSocket and filter paths introduced in v0.5.0, then followed with v0.5.3. Operators on v0.5.0 and v0.5.1 are advised to upgrade.
- **28:16 Mostro Core v0.10.0 and Mostro Mobile v1.2.5 adopt NIP-59 dual-key gift wrap**
Mostro Core v0.10.0 adopts NIP-59 split identity and wrapping keys, with migration work in Mostro PR #718 and mostro-cli PR #165. Mostro Mobile v1.2.5 adds maker age filtering in PR #581 and order-flow fixes.
- **30:09 marmot-ts v0.5.0 ships addressable KeyPackages**
marmot-ts v0.5.0 adds dual support for legacy kind 443 and addressable kind 30443 KeyPackages in PR #68. The release removes old storage classes and moves invite and group management onto MarmotClient surfaces.
- **32:49 CruxCoach v0.1.3 ships encrypted climbing data backup with Nostr and Blossom**
CruxCoach v0.1.3 adds opt-in encrypted cloud backup where a Nostr keypair anchors account identity and local encryption key derivation. It mirrors ciphertext to Blossom servers and integrates NIP-46, NIP-17, NIP-65, and Quartz.
- **36:50 Meiso v1.3.0 adds subtasks, Blossom attachments, and NIP-89 tagging**
Meiso v1.3.0 adds subtasks, task relationship links, and Blossom attachment flows via NIP-96, while tagging events with NIP-89. It also improves relay cold-start behavior and Amber reuse.
- **38:07 NoorNote, Nostria, Nostr Calendar, nos2x-fox, and library releases**
NoorNote shipped v0.8.7, v0.8.8, and v0.8.9, while Nostria shipped v3.1.29 through v3.1.31. Additional updates include Nostr Calendar v1.4.1, nos2x-fox v1.19.0, nostr-double-ratchet v0.0.97, nostr-wot-sdk 0.9.0, and nostr-tools PR #535.
- **44:19 applesauce 6.0.0 removes legacy event factories and adds Blossom URI parsing**
[email protected] removes legacy event factory helpers and expands link and Blossom URI parsing, including BUD-10 regex coverage. Companion releases
[email protected],
[email protected], and
[email protected] add BUD-10 nodes, NIP-51 list factories, and direct NIP-47 connect URI access.
### Project Updates
- **48:57 Amethyst advances Nests audio rooms with MoQ interop testing**
Amethyst added MoQ cross-client interop testing in PR #2622, plus Nest UX and feed freshness changes in PR #2625, PR #2620, PR #2634, and PR #2635. The same week removes custom secp256k1 in PR #2627 for libschnorr256k1.
- **50:25 nostream adds NIP-65 relay list support and NWC payments**
nostream adds kind 10002 relay list support in PR #585, NWC payments processor support in PR #539, and dead-connection cleanup fixes in PR #438.
- **50:52 FIPS adds Nostr-based udp:nat bootstrap**
FIPS merged PR #53, adding Nostr-advertised udp:nat bootstrap with encrypted signaling, STUN-based address discovery, UDP hole punching, and rollback logic for failed traversal adoption.
- **51:37 strfry adds per-connection observability**
strfry merged PR #214 for per-connection observability metrics, PR #204 for label normalization, and PR #215 for community integrations documentation.
- **52:06 Sprout adds Owner Attestation and multi-workspace support**
Sprout adds NIP-OA owner attestation in PR #406, multi-workspace support in PR #409, channel and compose improvements in PR #411, and read-state sync via NIP-RS in PR #413, PR #420, and PR #422.
- **53:07 Zap Cooking adds recipe packs, delete requests, and bunker login**
Zap Cooking adds NIP-09 delete requests for recipe packs in PR #367, reliability and retry logic in PR #366, one-click pack publishing in PR #365, and NIP-46 bunker login in PR #331.
- **53:53 Whitenoise-rs encrypts its local database**
whitenoise-rs adds SQLCipher at-rest database encryption in PR #758, plus ongoing session refactor work in PR #775, PR #772, and PR #773. On mobile, whitenoise PR #577 enables daemon auto-restart after reboot.
- **58:04 Nostrord: a NIP-29 client built with Kotlin Multiplatform and WASM**
Nostrord is a new NIP-29 group client targeting Discord-style workflows, built with Kotlin Multiplatform and WebAssembly and live at web.nostrord.com. It interoperates with existing NIP-29 relays and is an OpenSats grant recipient.
- **59:02 Clave brings NIP-46 remote signing to iOS via APNs**
Clave is an iOS signer that handles NIP-46 requests while the app is backgrounded by using APNs-triggered extension windows. It uses NIP-44 encrypted request handling, NIP-98 token registration auth, and supports bunker:// and nostrconnect:// pairing.
- **1:02:12 Treasures: decentralized geocaching on Nostr**
Treasures publishes caches as kind 37516 addressable events and records finds through QR-verified physical-visit proof data. It supports NIP-57 zap flows between finders and cache creators and is live at treasures.to.
- **1:03:41 smesh v0.5.1: self-hosted Nostr relay, client, and signer in one stack**
smesh bundles relay, client, and signer components with AUTH, search, Blossom support, NIP-07 signing, NIP-04 and NIP-44 encryption, and MLS support. The stack also includes the gitea-nostr-auth OAuth2 and OIDC bridge.
- **1:05:20 Surveil: a Magic: The Gathering deck builder on Nostr**
Surveil publishes decks as kind 37381 events, combines NIP-22 threaded comments, NIP-25 reactions, and kind 30078 profile data, and shipped v0.1.6 with mobile polish and deck UI updates. The app is available on web and through Zapstore.
- **1:06:43 Smaller additions: Fundstr, Nod City, deploy-nsite-to-pages, and null–nostr**
Fundstr adds creator funding over Nostr and Cashu, Nod City ships signed review events with zap support, deploy-nsite-to-pages automates nsite to GitHub Pages deploys, and null–nostr continues client development with MLS, Amber, and NIP-50 support.
### NIP Updates
- **1:10:24 NIP-34 git repositories: remove unused refs tag extension (PR #2325) — Merged**
PR #2325 removes an unused refs extension from NIP-34 to reduce ambiguity for git-over-Nostr implementations.
- **1:10:45 NIP-34 git repositories: remove incorrect NIP-09 claim (PR #2326) — Merged**
PR #2326 removes an incorrect claim that NIP-09 deletion can reset repository state, clarifying that deletion requests are client-side hints.
- **1:11:18 GitWorkshop kind 1111 inline review comments — Open**
GitWorkshop's kind 1111 inline review comments are documented in its NIP.md and used in production, but are not yet a formal NIP proposal. Related verdict and suggestion primitives remain draft-level and implementation-driven.
- **1:12:16 Nostr mail core and Nostrmon — Open**
Nostr mail core and Nostrmon circulated as custom draft proposals this week. They are not merged NIPs.
- **1:12:53 NIP-67: EOSE Completeness Hint (PR #2317) — Open**
PR #2317 continues iterating on an explicit EOSE completeness signal so relays can positively indicate full stored-event delivery.
### NIP Deep Dives
- **1:13:09 Six Nostr aprils**
This segment traces April milestones across protocol eras, from the pre-NIPs document phase to NIP-34 hardening and grant-driven adoption work in 2026. It emphasizes how client pressure, library maturity, and maintenance funding shaped protocol evolution.
- **01:13:23 April 2021: the protocol document before the NIPs repo**
April 2021 had no commits in the main protocol repository window, reflecting a pre-market phase where Nostr was still a compact relay and event model awaiting sustained contributor growth. The core architecture already existed in the original 2020 protocol article.
- **01:14:02 April 2022: NIPs still lived in the main repo**
April 2022 was the final month before NIPs moved into a dedicated repo, with incremental main-repo changes around NIP-12, kinds lists, and JavaScript spec examples. Client and library foundations were beginning to consolidate during this period.
- **01:15:17 April 2023: post-Damus application expansion**
After Damus launch, April 2023 protocol changes mirrored live client pressure around zaps, marketplaces, metadata, count semantics, and identity links. One merged PR landed while broader commit activity expanded across several active contributors and app surfaces.
- **01:18:06 April 2024: private messaging, git-over-Nostr, and maintainer support**
April 2024 merged NIP-46 terminology fixes and substantial NIP-34 improvements, while NIP-17 gift-wrapped messaging landed in the same month. OpenSats long-term support grants also shifted maintenance economics toward sustained infrastructure work.
- **01:21:14 April 2025: dense NIP cleanup and Blossom formalization**
April 2025 merged sixteen NIP PRs, including NIP-B7 Blossom interaction formalization, NIP-65 relay list cleanup, and NIP-26 deprecation. Protocol cleanup and application expansion ran in parallel with broad client and library shipping activity.
- **01:23:44 April 2026: NIP-34 hardening, badges, and adoption-focused grants**
April 2026 merged NIP-58 badge model changes and three NIP-34 usability and correctness updates, including nostr:// clone URL support and cleanup of incorrect language. The period also coincided with OpenSats grant support for desktop clients, messaging, group UX, and onboarding.