Nostr Compass Podcast

Nostr Compass Podcast #25


Listen Later

### News
- **0:00 Intro**
This episode follows Nostr Compass #25 across top stories, releases, in-development work, a batch of merged NIPs, and deep dives on NIP-32 and NIP-F4.
- **0:15 Amber 6.2.0 – NIP-44 v3 encryption shipped**
Amber v6.2.0 adds NIP-44 v3 encryption with a dedicated approval screen, intent and bunker previews, history logging, auto-reject for invalid requests, and ContentProvider authority registration for downstream Android apps. NIP-46 sessions auto-accept ping on connect, and the deprecated sign_message method was removed. Amber ships v3 before the NIPs PR lands, making it the de facto reference for other clients.
- **1:15 Mostro – Cashu escrow integration via CDK**
grunch landed eight PRs integrating Cashu P2PK multisig (NUT-10 and NUT-11) as a second settlement backend alongside Lightning on the Mostro P2P exchange. mostro-core v0.12.0 adds 2-of-3 multisig escrow types, documented in PR #756 with per-order trade keys in PR #757, an EscrowBackend trait in PR #760, CDK wrapping in PR #759, CAS escrow locks in PR #761, and a containerized mint CI job in PR #762.
### Releases
- **2:47 ngit v2.5.0 – GRASP fallback and lazy git fetches**
ngit v2.5.0 defaults git push pr/ and ngit send to produce PR kinds when a GRASP server is registered, falls back to GRASP-06 routing on push failure, preserves unknown tags on ngit init republish, and adds lazy fetch helpers shared across ngit pr apply, checkout, and list.
- **3:57 Jumble v26.5.7 – EXIF stripping and validated zap counts**
Jumble v26.5.7 strips EXIF location and camera metadata from image uploads, computes zap counts only from cryptographically validated receipts, and adds sender-identity verification for NIP-17 DMs.
- **5:01 nostr-calendar v1.6.0 – RSVP and duplicate participant handling**
nostr-calendar v1.6.0 lands RSVP flow in PR #169, duplicate participant prevention in PR #168, and non-blocking publish defaults in PR #170.
- **6:23 Sprout 0.3.6 – mesh-llm and channel sections**
Sprout v0.3.6 adds in-process mesh-llm integration in PR #798, user-defined channel sections with relay sync in PR #792 and PR #800, thread-aware notifications in PR #761, arbitrary file attachments in PR #810, and a Pulse social feed tab in PR #772.
- **7:35 NostrBotKit v0.5.0 – Marmot group chat in a Rust bot framework**
NostrBotKit v0.5.0 adds Marmot support with automatic group invitation handling, dm_marmot and dm_marmot_npub commands, MIP-04 attachment decryption, and MLS state encrypted with a key derived from the bot private key, making it the first Rust framework with NIP-104 bot support.
- **8:42 noscrypt v0.1.14 – signed cryptography library release**
noscrypt v0.1.14 is a security release of the C cryptography library used for secp256k1, NIP-04, and NIP-44 primitives, shipped with PGP-signed downloads verifiable against the maintainer public key.
- **9:10 Chama v1.3.0 – Nostr-native P2P escrow with Fedimint**
Chama v1.3.0 introduces trade healing that survives session restarts and pay-rail matching for US-leaning Chamas, building on Fedimint ecash and 2-of-3 Shamir secret sharing in a serverless Nostr-native escrow client.
### Project Updates
- **10:12 Amethyst – NIP-32 hashtag labeling, podcast screen, music tracks**
Amethyst merged 52 PRs without a release tag, including NIP-32 hashtag labeling and a label-based feed in PR #3111, a dedicated podcast screen in PR #3105, software apps feed in PR #3071, music tracks via NIP-51 in PR #3067, ephemeral anonymous upload signers in PR #3123, and Tor self-heal in PR #3053.
- **12:08 Shopstr – OpenGraph preview URL validation**
Shopstr PR #504 validates OpenGraph preview URLs before rendering in marketplace listings, closing an XSS surface where malicious sellers could inject scripted content via crafted OG metadata.
### NIP Updates
- **12:47 NIP-F4 (Podcasts) merged after two years – Merged**
PR #1093 merged May 28 after 27 months, defining kind 54 podcast episodes with imeta audio metadata, kind 10154 podcast metadata, kind 10164 author counter-claims, and kind 10054 favorite-podcast lists, with RSS kept as the distribution layer and Nostr as the social layer.
- **14:09 NIP-17 key decoupling (PR #2361) – Open**
PR #2361 proposes separating identity and encryption keys in NIP-17 via kind 10044 encryption key advertisements and an n tag on seals. Cody Tseng supports it for bunker UX; Vitor Pamplona argues it breaks interop and that Marmot key packages already solve the problem.
- **17:18 NIP-Silent Payments payment flow (PR #2362) – Open**
PR #2362 defines kind 8352 silent payment receipt notifications via NIP-59 gift wrap and kind 10353 encrypted UTXO cache for cross-device Silent Payments wallet sync, companion to PR #2355.
- **19:03 NIP-PIP Perfect IP Packets (PR #2364) – Open**
PR #2364 proposes addressable kinds 39078 (manifest), 39079 (slices), and 39080 (repair requests) for a packet-tree transport breaking large files into reconcilable slices.
- **20:01 NIP-29 audio/video live spaces (PR #2238) – Merged**
PR #2238 extends NIP-29 relay-based groups with audio and video live-space support, anchoring NIP-53 live activity in group context.
- **20:26 NIP-71 video multiple audio tracks (PR #2255) – Merged**
PR #2255 adds audio-track NIP-92 imeta tags to NIP-71 video events for multi-language tracks, audio-only streaming, and resolution switching with stable audio.
- **21:13 NIP-59 ephemeral gift wrap (PR #2245) – Merged**
PR #2245 adds kind 21059 as an ephemeral NIP-59 gift wrap counterpart to kind 1059, letting relays drop typing indicators and presence pings after broadcast.
- **21:56 NIP-78 application-specific kind (PR #2292) – Merged**
PR #2292 reclassifies NIP-78 application-specific data as a normal addressable kind, aligning replaceability with other application-state NIPs.
- **22:20 NIP-85 clarifications (PR #2304) – Merged**
PR #2304 clarifies multiple keys and relays per service provider in NIP-85 Trusted Assertions, covering operator key rotation paths.
- **22:40 NIP-01 relay connection management one-liner (PR #2307) – Merged**
PR #2307 adds a single sentence to NIP-01 on relay connection lifetimes, addressing silent message loss when clients differ on idle WebSocket handling.
- **23:08 NIP-C7 kind 9 chat constraint (PR #2310) – Merged**
PR #2310 restricts NIP-C7 chat views to kind 9 messages only, separating ephemeral chat from kind 1 timeline posts.
- **23:26 NIP-55 simplification (PR #2363) – Open**
PR #2363 simplifies the NIP-55 Android signer application spec, paving the way for Amber v6.2.0 ContentProvider authority registration.
- **23:42 NIP-44 v3 – Amber implementation ahead of spec – Open**
Amber v6.2.0 ships NIP-44 v3 with version byte 0x03, dedicated approval UI, auto-reject, and per-direction history logging before the NIPs-repo spec PR merges, making v3 an Amber-specific extension until protocol consensus catches up.
### NIP Deep Dives
- **24:31 NIP deep dive: NIP-32 (Labeling)**
NIP-32 defines kind 1985 label events with L namespace and l label tags targeting events, pubkeys, relays, URLs, or topics. Labels are assertions, not protocol truth: clients choose which labelers and namespaces to honor. Amethyst PR #3111 deploys hashtag discovery via trusted labelers, replacing brittle #tag text matching while keeping text fallback for unlabeled notes.
- **28:16 NIP deep dive: NIP-F4 (Podcasts)**
NIP-F4 treats each podcast as its own Nostr keypair with kind 10154 metadata, kind 10164 author counter-claims, kind 54 episodes, and kind 10054 favorite lists. The merge settled on RSS as distribution layer and Nostr as social layer after 27 months of debate. Open items include a kind 10164 example typo, episode discovery without RSS GUID bridging, and stub fields on kind 54 audio tags.
...more
View all episodesView all episodes
Download on the App Store

Nostr Compass PodcastBy Nostr Compass