#Amethyst v1.11.0: Calendars
Highlights:
1. NIP-52 Calendars — feed, day/week/month views, event/collection editors, RSVP, ICS export, "starting soon" notifications, share-as-nostr-link, gallery picker.
2. On-Chain zaps — splits with dust gating, shows in the reaction gallery, display transaction history, privacy guidance
3. Payment-targets redesign (QR + copy + pay), public-address chip + confirmation
4. Inline nowhere-link cards in rich text.
PRs:
- Restore Lightning Address + LNURL fields in Edit Profile
- Raise the default maximum hashtag limit from 5 to 8
- Include on-chain zaps in notification summary stats
- Add electrum.nmc.ethicnology.com to default ElectrumX server set
- Translate call-permission and git-repo strings (cs, pt-BR, sv, de) + New Crowdin translations
- Subscribe and observe PaymentTargetsEvent for other users
- Only bridge to local cache when URL is BUD-01 layout; dedupe public-channel rows; normalize video/x-m4v to video/mp4
- Enable Send when typed name resolves via NIP-05; on-chain Bit recipient
- Inline Namecoin resolution indicator + result row on on-chain zaps
- Inline Namecoin resolution indicator in global search bar
- Long-press to copy Nostr Address, Website, LN Address, identities, payment targets
- macOS VLC bundled discovery and video rendering
- Make RelayAuthenticator authStatus thread-safe
- Pad GitRepositoryOverview content to clear top/bottom bars
- Use LargeCache for RelayAuthenticator authStatus
- MIME-type normalization for MediaStore
- Split delivery vs display, add Categories section in notifications
- Accept floating-point dimensions in imeta so image space is reserved pre-load
- Explain hashtag-limit hide reason in HiddenNote
- Route media-upload signing through launchSigner
- Render nowhere links inline as branded cards
- Release MediaController after 30s in background; skip timer for PiP
- Clickable on-chain card opens transaction history; tappable on-chain rows + txid index in LocalCache
- Disable ProGuard optimization entirely on desktop (fixes kmp-tor crash); .deb launch CI smoke test
- Show on-chain zappers in expanded reactions gallery
- Convert hashtag-limit message to <plurals> and add cs/pt-BR/sv/de translations
- Restore long-press on root note + anchor popup to the card
- Keep filter chips visible on empty on-chain transactions list
- Make playback notification tap open the note on warm-pool resume
- Validate zap receipts against LNURL provider's nostrPubkey (NIP-57 Appendix F)
- Stable sort in ShortsFeedFilter to avoid TimSort contract crash
- Align push notifications with Notifications feed filter; resolve addressable events to their replaceable note; WakeUp bypass + lookup hoist
- Update on-chain-zap + headers-explorer plans for NIP-BC inline SPV tags
- Start zoomable dialog close animation from zoomed bounds
- Scaffold I2P as a parallel privacy transport to Tor; route-aware HTTP stack; BlockedRouteException
- Reorder feed filter popup sections (DVMs before Communities, interest sets next to hashtags)
- Stop spinning Around Me when Geocoder is unavailable
- NIP-52 calendars — feed, day/week/month views, RSVP, ICS export, reminders, edit, share-as-nostr-link, participant picker, multi-day bars
- Audit follow-ups on MLS reply paths; route reply button on MLS messages to the encrypted group
- Use LaunchedEffect instead of remember for VM reset
- Switch to Dispatchers.IO around the whole executeAsync call in relay-info
- Drop crossfade around the card feed in notifications
- Observe locale in CalendarDateTimePickerButton
- Modernize zap amount choice popup to match reactions popup style
- Catch ForegroundServiceStartNotAllowedException in PlaybackService
- Include crashing thread name in crash report
- Convert remaining .gradle files to Kotlin DSL
- Redesign payment targets modal with QR, copy and pay buttons
- Add Public chip to on-chain wallet card; clarify privacy guidance on on-chain wallet popup
- Require running material-symbols-subset.sh when adding new icons; add new information icon
- Re-add Nostrcheck.me Blossom server to defaults
- Surface on-chain zaps from the reactions zap button
- On-chain zap splits — drop sender from splits, merge duplicates, gate Send on dust
- On-chain option on the Zap the Devs button
- On-chain handoff from the custom-zap dialog
- Keep listening on default index+search relays for users with no kind 10002
- Skip offline relays when fetching user metadata
- Include indexer and proxy relays in the trusted relay list to avoid Tor
- Confirm on-chain copy with public-address warning
- Swallow LegacyCursorAnchorInfo IllegalArgumentException
- Render ContactListEvent in NoteCompose with tap-through user list; add preview for DisplayContactList
## Contributors
- VitorPamplona (nprofile…vhl6)
- ⚡ Dee Kay ⚡ (nprofile…m3sx)
- beefenergy (nprofile…wpzp)
- greenart7c3 (nprofile…xcpk)
- KotlinGeek (nprofile…n65v)
- v (nprofile…mjk6)
## Translations
- Czech, German, Swedish, and Portuguese by ⚡ Dee Kay ⚡ (nprofile…m3sx)
- Hungarian by summoner (nprofile…ns2l)
- French by Anthony 🇫🇷 (nprofile…d26f)
- Dutch by Bartus (nprofile…ge6h)
- Polish by Polak (nprofile…ajyt)
- Hindi by राज (nprofile…fu8r)
- Slovenian by StellarStoic (nprofile…406e)
- Bengali by Cats (nprofile…3aw2)
- Spanish by ⚡₿it₿y₿it⚡ (nprofile…yhdq)
- Chinese by hypnotichemionus4 and CXPLAY (nprofile…r68m)
- Russian by Anton Zhao
