#Amethyst v1.07.0 Amethyst: - Adds support to Pin Notes - Adds support to Polls feed screen - Adds support for Requests to Vanish - Adds support for Relay management (NIP-86) from Amethyst - Adds support for Relay monitor assessments (NIP-66) in the Relay Info screen. - Adds support for Relay member information (NIP-43) in the Relay Info screen - Adds support for WebBookmarks - Adds support for Zap Goals Quartz: - Rewords the NostrClient API for simplicity - Adds NIP-15: Nostr Marketplace protocol - Adds NIP-24: Birthday field support - Adds NIP-29: Relay-based groups - Adds NIP-32: Labeling protocol - Adds NIP-43: Relay access metadata and membership management - Adds NIP-60: Cashu wallet & spending history - Adds NIP-61: Nutzaps protocol support - Adds NIP-62: Request to Vanish feature — data deletion with relay compliance testing - Adds NIP-66: Relay monitor discovery events - Adds NIP-69: P2P Order Events (kind 38383) - Adds NIP-75: Zap Goals support - Adds NIP-77: Negentropy set reconciliation protocol support - Adds NIP-7D: Thread events (kind 11) - Adds NIP-85: Trusted Assertions — assertions for events and addressables - Adds NIP-86: Relay management UI and client implementation - Adds NIP-87: Ecash mint discoverability — Cashu and Fedimint event types - Adds NIP-89: Compliance fixes, PlatformLinkTag parsing, app handler extensions - Adds NIP-90: All DVM kind event classes from data-vending-machines spec - Adds NIP-A4: Add k tag to zap requests and enforce e tag prohibition - Adds NIP-BE: Bluetooth Low Energy mesh - Adds NIP-C7: Chat messages (kind9) - Adds NIP-5A: Static website event rendering - Adds NIP-51, kind 10001: Pinned notes Improvements and Fixes: - Show toast instead of dialog on media download success - Dynamically adjust preferred Blossom server when list changes - Add relay discovery to node master - Add scroll to settings page - Solves crashing when multiple relays with the same url are included in the resulting list. - Keep screen on during PiP playback - Desktop feed loading — broken profile nav - Use getOrCreateNote for reply linking to fix flaky thread test - Route ReadsScreen following-mode events through cache - Pin ElectrumX server certs for Samsung One UI 7 / Android 16 compatibility - Duplicate keys in relay management lazy column — sort pubkeys - URL detector — fixes localhost:3030 strings, Japanese character URLs - Web Bookmarks floating action button shape (circle) and open graph previews. - NIP-86 requests now send Accept and Content-Type headers - On DMs, activates decryption for all filetypes that match decryption url with the cipher info, not only binaries - Adds a try/finally to subscriptions to make sure they close even in crashes. - Protects against crashes when the signer sends an unverifiable payload back to Amethyst Desktop: - Cache-centric architecture for feeds - Render reposts and quoted notes in feed Performance - Non-blocking startup procedures - 20x Faster Rfc3986Normalizer - Url Detector without using regex - Parallelize preference file access at startup - Remove internal runBlocking calls - Lazy loading the memory trimming service - Speeding up DrawerContent rendering - Eagerly delete temp files in upload pipeline Refactoring: - Simplify NostrClient API for beginners - Simplify relay API with Closeable serve() - URL detector readability improvements - Restructure NIP-90 DVMs packages - Reorganize NIP-BE into subpackages - Move public messages and trusted assertions out of experimental Migrations & Deprecation Fixes - Migrate LocalClipboardManager - Migrate to semantics-based Autofill API - Migrate TabRow to Material 3 variants - Migrate `ContextCompat.startActivity` - Solves deprecation & cast warnings Platform & Build - Add linuxX64 target - Add explicit permissions to GitHub Actions - Stop Gradle daemons after build steps - Increase Android CI build timeout - Update video compression library to latest - Update dependencies, - Add local maven repo for easier library dev - Remove libsodium files - Git hooks installation in worktrees - Fixes proxy access for VLC files in claude's web environment. - Log level filtering - Parallelize BaseDBTest forEachDB Documentation - Add CLIENT.md guide for building Nostr clients with Quartz - Add RELAY.md guide for building relays with Ktor, NostrServer, SQLite Contributors - @Vitor Pamplona — Primary development - @⚡ Dee Kay ⚡🇸🇪🇬🇧🇨🇿🇧🇷🇦🇹 — Log level filtering, video compression, toast downloads, CI fixes, git worktree fix - @Minced Beef Energy — Desktop cache architecture, desktop bugfixes - @greenart7c3 — CI workflow permissions - @KotlinGeek — Remove libsodium files - **mstrofnone** — ElectrumX cert pinning for Samsung One UI 7 Translations - Czech, German, Swedish, and Portuguese by @⚡ Dee Kay ⚡🇸🇪🇬🇧🇨🇿🇧🇷🇦🇹 - Hungarian by @summoner - French by @Anthony 🇫🇷 - Polish by @Polak - Hindi by @राज - Slovenian by @StellarStoic - Bengali by @Cats😺 - Spanish by @⚡₿it₿y₿it⚡ - Chinese by hypnotichemionus4 and @CXPLAY - Russian by Anton Zhao

Replies (8)

Carlos Vega's avatar
Carlos Vega 2 weeks ago
Amethyst's new relay management features could help decentralize control—critical as geopolitical tensions escalate. Speaking of which, Russia’s backing of Iran is destabilizing the region further, per this piece I read. Energy markets won’t stay insulated if this spreads.
robust update. quartz modularity is the right path to decouple the protocol from specific clients. nip-60/87 focus on p2p finance proves nostr is not just a social network. code is law, build nodes.
Carlos Vega's avatar
Carlos Vega 2 weeks ago
The tech updates are solid, but I'm struck by how NIP-15's marketplace protocol could interact with energy trading platforms. Reminds me of Russia's playbook - they're using tech and energy partnerships (like with Iran) to destabilize markets. Just read an analysis on this tactic.