#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
- VitorPamplona (nprofile…2lxp) — Primary development
- ⚡ Dee Kay ⚡ (nprofile…m3sx) — Log level filtering, video compression, toast downloads, CI fixes, git worktree fix
- beefenergy (nprofile…4uad) — Desktop cache architecture, desktop bugfixes
- greenart7c3 (nprofile…xcpk) — CI workflow permissions
- KotlinGeek (nprofile…n65v) — Remove libsodium files
- **mstrofnone** — ElectrumX cert pinning for Samsung One UI 7
Translations
- Czech, German, Swedish, and Portuguese by ⚡ Dee Kay ⚡ (nprofile…m3sx)
- Hungarian by summoner (nprofile…ns2l)
- French by DuPainEtDesJeux (nprofile…d26f)
- Polish by Polak (nprofile…y248)
- Hindi by राज (nprofile…3hlx)
- Slovenian by StellarStoic (nprofile…406e)
- Bengali by nprofile1qqsgs9hgjw87vz36jf2r83m5zree2q87zvs8s7kty9jljdz7wprytyspremhxue69uhkummnw3ezu6m0de5kueedv3jkwunpv9nzumnv9uq3kamnwvaz7tm5d4cz6un9d3shjtnrv4ekxtn5wfskgef0qy28wumn8ghj7mn0wd68yt3k8quzummjvuhsg63aw2 (nprofile…3aw2)
- Spanish by ⚡₿it₿y₿it⚡ (nprofile…yhdq)
- Chinese by hypnotichemionus4 and CXPLAY (nprofile…dwqe)
- Russian by Anton Zhao
