Back to Freedom.Tech Back
All Amethyst releasesAll versions
Release Fri, May 15, 2026 6 min read

Amethyst 1.09.0

Original release notes

What's Changed

  • Add scroll-to-event functionality for push notifications by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2066
  • Add NIP-51 list event types for content curation and management by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2067
  • Add support for NIP-53 Meeting Spaces and Meeting Rooms by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2069
  • Add floating action buttons for media and poll creation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2070
  • Enhance long-form article editor with banner image and tags UI by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2071
  • Add WebRTC-based peer-to-peer voice and video calling via NIP-AC by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2068
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2072
  • Improve markdown rendering with enhanced typography and styling by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2073
  • Add support for NIP-59 Ephemeral Gift Wrap events (kind 21059) by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2074
  • Add remote video activity monitoring to detect peer disconnections by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2075
  • Add multi-device call state synchronization by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2076
  • Implement Tor SOCKS port retry logic with dynamic port allocation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2077
  • Clamp PiP aspect ratio to Android system limits by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2079
  • Add proximity sensor support to auto-pause video during calls by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2078
  • Preload bookmark events to improve scrolling performance by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2080
  • Fix resource leaks and improve coroutine lifecycle management by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2081
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2082
  • Implement Picture-in-Picture mode for call activity by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2083
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2084
  • Improve video call quality with 720p resolution and bitrate limiting by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2085
  • NIP-AC: Document mid-call renegotiation and multi-device support by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2086
  • Add group call support to WebRTC call system by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2087
  • Add group call support with participant management by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2088
  • Improve call handling: busy rejection, peer tracking, and ICE state by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2089
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2090
  • Add group call support with multi-member p-tags and per-peer SDP by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2091
  • Add maximum hashtag limit security filter by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2092
  • Disable hardware acceleration for profile picture image loading by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2094
  • Simplify poll creation UI and consolidate poll types by @greenart7c3 in https://github.com/vitorpamplona/amethyst/pull/2093
  • Add comprehensive logging to WebRTC call session and controller by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2096
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2095
  • Exclude current user from group call member displays by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2097
  • Add Marmot protocol support (MIP-00 through MIP-05) by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2098
  • Fix group call handling for answer/reject events by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2099
  • Fix call UI to exclude current user from peer list by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2100
  • Add Marmot protocol support with MIP-00, MIP-02, MIP-03, MIP-05 implementations by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2101
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2102
  • Refactor CallController for multi-peer group calls with mesh topology by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2103
  • Exclude current user from peer lists in call UI by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2104
  • Fix call state handling to prevent missed cleanup due to StateFlow conflation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2105
  • Add MLS (Messaging Layer Security) implementation for Marmot by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2106
  • Fix call audio state transitions and notification handling by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2107
  • test: add comprehensive MLS engine tests and fix self-decrypt ratchet by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2108
  • Handle peer rejections in incoming group calls by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2109
  • Improve group call peer management and signaling robustness by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2110
  • Improve peer disconnection handling in calls by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2111
  • Add option to forward profile events to local relays by @greenart7c3 in https://github.com/vitorpamplona/amethyst/pull/2112
  • Add payment targets feature with NIP-A3 support by @greenart7c3 in https://github.com/vitorpamplona/amethyst/pull/2114
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2113
  • Support multiple remote video tracks in group calls by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2115
  • Fix intermittent test failure, DesktopFeedFilters.kt by @davotoula in https://github.com/vitorpamplona/amethyst/pull/2116
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2117
  • Improve video call UI to show active peer videos with fallback avatars by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2119
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2118
  • Improve video call detection to include active video streams by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2120
  • Handle WebRTC offer glare in call renegotiation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2121
  • Replace NIP-59 Gift Wraps with Ephemeral Gift Wraps for WebRTC calls by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2123
  • Add ability to dismiss poll notifications by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2124
  • Add MLS interoperability test vectors and implementations by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2125
  • fix for 5m hung windows build: Switching to cache: gradle in setup-java. by @davotoula in https://github.com/vitorpamplona/amethyst/pull/2026
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2126
  • Improve broadcast completion detection and dismissal timing by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2127
  • Add routing support for Poll and ZapPoll draft edits by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2128
  • Set explicit surface color for Card in notification feed by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2129
  • Add tabbed interface to Polls screen for open/closed polls by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2130
  • NIP-AC: Comprehensive WebRTC call state machine and group call spec by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2131
  • show toast while downloading video for sharing by @davotoula in https://github.com/vitorpamplona/amethyst/pull/2135
  • Fix image sharing error by @davotoula in https://github.com/vitorpamplona/amethyst/pull/2133
  • Add MLS group state persistence and KeyPackage rotation management by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2141
  • Add poll results preview feature with persistent viewing state by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2139
  • Add thumbnail disk cache for profile pictures by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2140
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2137
  • Add comprehensive test suite for NIP-AC call state machine by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2143
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2142
  • feat: add missing translations for 5 keys across 4 locales by @davotoula in https://github.com/vitorpamplona/amethyst/pull/2144
  • Add Marmot inbound/outbound message processors and subscription manager by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2146
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2145
  • Add Marmot MLS group messaging support to Amethyst by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2147
  • Add ALT tag support to PaymentTargetsEvent by @greenart7c3 in https://github.com/vitorpamplona/amethyst/pull/2148
  • Add Marmot MLS group messaging UI and integration by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2149
  • Add comprehensive MLS test suite and improve GroupInfo signing by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2150
  • fix: prevent share dialog from being dismissed by control auto-hide by @davotoula in https://github.com/vitorpamplona/amethyst/pull/2151
  • Add periodic ticker to re-evaluate open polls after close date by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2154
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2152
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2155
  • Refactor Marmot group chat UI with improved message composer by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2157
  • Add KeyPackage publication status tracking for Marmot groups by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2158
  • Reorganize settings: move sensitive options to "Danger Zone" section by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2159
  • Add permission handling for accepting calls from notifications by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2160
  • Add drag-to-reorder functionality for relay lists by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2161
  • Fix audio cleanup and call state handling on Activity destroy by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2163
  • Prevent stale call offers from retriggering after app restart by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2164
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2162
  • Add pure Kotlin secp256k1 implementation for Nostr operations by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2166
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2165
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2167
  • Add thread safety and robustness improvements to Marmot MLS implementation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2169
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2171
  • Optimize secp256k1 with unrolled arithmetic and caching by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2170
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2174
  • Add thread-safe state management to CallManager by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2168
  • Add member removal and group info editing for Marmot groups by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2173
  • Add groupId parameter to commit ordering tracker methods by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2177
  • Implement Ed25519 and X25519 cryptography for native platforms by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2178
  • New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/2175
  • fix: account switcher bottom sheet not showing logged-in accounts by @mstrofnone in https://github.com/vitorpamplona/amethyst/pull/2172
  • Refactor note layout to use custom zero-overhead NoteComposeLayout by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2138
  • Change relay feed icon from door to storage by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2179
  • Move Event Sync and Import Follows to Settings screen by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2180
  • Add AI writing assistance with ML Kit integration by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/2176