Releases: vitorpamplona/amethyst
Releases · vitorpamplona/amethyst
v1.11.0: Calendars and OnChain Zaps
What's Changed
- feat(profile): restore Lightning Address + LNURL fields in Edit Profile by @vitorpamplona in #2947
- Raises the default maximum hashtag limit from 5 to 8 by @vitorpamplona in #2948
- feat(notifications): include onchain zaps in summary stats by @vitorpamplona in #2949
- New Crowdin Translations by @github-actions[bot] in #2951
- New Crowdin Translations by @github-actions[bot] in #2952
- fix: subscribe and observe PaymentTargetsEvent for other users by @greenart7c3 in #2953
- Fix public chat deduplication by channel ID extraction by @vitorpamplona in #2954
- fix(blossom): only bridge to local cache when URL is BUD-01 layout by @greenart7c3 in #2959
- New Crowdin Translations by @github-actions[bot] in #2960
- fix(desktop): fix release build crashes (ProGuard, VLC, jlink modules) by @nrobi144 in #2961
- feat(electrumx): add electrum.nmc.ethicnology.com to default server set by @mstrofnone in #2950
- Apply scaffold padding to GitRepositoryOverview by @vitorpamplona in #2963
- Thread-safe authStatus in RelayAuthenticator (#2946) by @davotoula in #2962
- feat(profile): long-press to copy Nostr Address, Website, LN Address, identities, payment targets by @mstrofnone in #2958
- feat(onchain-zaps): enable Send when typed name resolves via NIP-05 by @mstrofnone in #2955
- feat(onchain-zaps): inline Namecoin resolution indicator + result row by @mstrofnone in #2956
- feat(search): inline Namecoin resolution indicator in global search bar by @mstrofnone in #2957
- Replace AtomicReference with LargeCache in RelayAuthenticator by @vitorpamplona in #2964
- Support floating-point dimensions in NIP-92 imeta tags by @vitorpamplona in #2968
- Add excessive hashtag detection to hidden note UI by @vitorpamplona in #2969
- Refactor media upload to use AccountViewModel.launchSigner by @vitorpamplona in #2970
- Extract notification settings to dedicated screen by @vitorpamplona in #2967
- Fix MediaStore MIME type compatibility for video files by @vitorpamplona in #2966
- New Crowdin Translations by @github-actions[bot] in #2965
- Add Nowhere link detection and branded card rendering by @vitorpamplona in #2971
- New Crowdin Translations by @github-actions[bot] in #2972
- New Crowdin Translations by @github-actions[bot] in #2976
- New Crowdin Translations by @github-actions[bot] in #2979
- Fix popup menu positioning and parameter naming by @vitorpamplona in #2980
- test(desktop): add Compose UI smoke test + release .deb launch CI by @nrobi144 in #2975
- Show on-chain Bitcoin zappers as a dedicated ₿ row in the expanded reactions gallery by @davotoula in #2977
- Release MediaController after 30s background timeout by @vitorpamplona in #2973
- Convert hashtag-limit message to by @davotoula in #2978
- Add on-chain transaction history screen with pagination by @vitorpamplona in #2974
- Improve onchain transaction filter UX with separate empty states by @vitorpamplona in #2983
- Fix playback notification tap target in warm-pool fast path by @vitorpamplona in #2982
- NIP-57 Appendix F zap receipt validation with LNURL provider verification by @vitorpamplona in #2984
- New Crowdin Translations by @github-actions[bot] in #2981
- Fix feed sorting race condition with snapshot-based comparator by @vitorpamplona in #2986
- Align push notifications with in-app feed filtering by @vitorpamplona in #2987
- Plan: local Bitcoin headers explorer for NIP-03 OTS (revised 2026-05-19) by @vitorpamplona in #2988
- New Crowdin Translations by @github-actions[bot] in #2985
- Fix zoomed image dismiss animation to start from actual bounds by @vitorpamplona in #2989
- Add I2P support with unified privacy routing by @vitorpamplona in #2990
- Reorder FeedGroup enum for improved UX by @vitorpamplona in #2992
- Refactor geolocation retry logic with suspend coroutines by @vitorpamplona in #2993
- Add reply support for Marmot/MLS group messages by @vitorpamplona in #2995
- New Crowdin Translations by @github-actions[bot] in #2991
- Simplify Nip11Retriever by removing nested withContext by @vitorpamplona in #2997
- Fix PrivacyOptionsScreen initialization with LaunchedEffect by @vitorpamplona in #2998
- Add NIP-52 calendar events support with UI and reminder system by @vitorpamplona in #2994
- Fix notification feed composition issue by removing CrossfadeIfEnabled by @vitorpamplona in #2999
- Remove I2P support and privacy routing abstraction by @vitorpamplona in #3000
- New Crowdin Translations by @github-actions[bot] in #2996
- New Crowdin Translations by @github-actions[bot] in #3001
- fix: observe locale in CalendarDateTimePickerButton by @vitorpamplona in #3002
- Refactor ZapAmountChoicePopup UI with extracted components by @vitorpamplona in #3004
- Handle ForegroundServiceStartNotAllowedException in PlaybackService by @vitorpamplona in #3005
- New Crowdin Translations by @github-actions[bot] in #3003
- Include thread name in crash reports by @vitorpamplona in #3006
- fix: surface Pay row in Reaction Settings for existing accounts by @greenart7c3 in #3009
- Refactor payment targets UI by @greenart7c3 in #3011
- Migrate build scripts from Groovy to Kotlin DSL by @vitorpamplona in #3007
- Add public wallet warning chip and dialog to onchain section by @vitorpamplona in #3012
- docs: add Material Symbols font subset regeneration guide by @vitorpamplona in #3014
- Re-add Nostrcheck.me Blossom server to defaults by @quentintaranpino in #3015
- New Crowdin Translations by @github-actions[bot] in #3013
- Add fallback relay logic for abandoned users in metadata queries by @vitorpamplona in #3019
- Add on-chain split zap support with per-recipient distribution by @vitorpamplona in #3018
- Add warning dialog for copying public onchain addresses by @vitorpamplona in #3021
- Migrate text input to new Compose TextFieldState API by @vitorpamplona in #3022
- i18n: convert calendar count + reminder strings to by @davotoula in #3020
- Add Contact List display and navigation screen by @vitorpamplona in #3023
- New Crowdin Translations by @github-actions[bot] in #3017
- fix(ui): restore outlined visual on EditPostView + ForwardZapTo TextF… by @vitorpamplona in #3024
- feat: tighten the zap UI by @vitorpamplona in #3025
New Contributors
- @quentintaranpino made their first contribution in #3015
Full Changelog: v1.10.0...v1.11.0
v1.10.0: On-Chain Wallet
What's Changed
- ci: remove macos-13 x64 build legs by @vitorpamplona in #2939
- Replace linuxdeploy with appimagetool for AppImage packaging by @vitorpamplona in #2940
- Sync inner note highlight fade with parent background color by @vitorpamplona in #2941
- Handle denied call permissions with settings dialog by @vitorpamplona in #2942
- Fix gradient rendering with transparent background colors by @vitorpamplona in #2943
- Add NIP-BC onchain Bitcoin zaps support (send, receive, display) by @vitorpamplona in #2944
Full Changelog: v1.09.2...v1.10.0
v1.09.2
What's Changed
- Fix Blossom blob detection to reject non-compliant filenames by @greenart7c3 in #2919
- fix(desktop): add ProGuard keep rules so v1.09.1 desktop builds actually launch by @mstrofnone in #2921
- fix(video): pause playback when app goes to background by @vitorpamplona in #2925
- fix(desktop): mirror Android ProGuard strategy for release builds by @mstrofnone in #2922
- New Crowdin Translations by @github-actions[bot] in #2920
- feat(desktop): wire NamecoinSettingsSection into Settings screen by @mstrofnone in #2923
- feat(desktop): wire Import Follow List dialog into UI by @mstrofnone in #2924
- New Crowdin Translations by @github-actions[bot] in #2926
- New Crowdin Translations by @github-actions[bot] in #2927
- Fix crash when toggling home tabs with persisted pager state by @vitorpamplona in #2930
- Fix ChatroomListKnownFeedFilter to use flowSet instead of flow by @vitorpamplona in #2932
- Use accountViewModel.launchSigner for relay join/leave requests by @vitorpamplona in #2933
- New Crowdin Translations by @github-actions[bot] in #2931
- Migrate DNS cache from SharedPreferences to cacheDir by @vitorpamplona in #2935
- Filter DNS poison (loopback/any-local) from non-loopback hosts by @vitorpamplona in #2936
- New Crowdin Translations by @github-actions[bot] in #2934
- perf(dns-cache): hand-rolled binary persistence format for SurgeDnsStore by @vitorpamplona in #2937
- Remove unused ammolite module and optimize build config by @vitorpamplona in #2938
Full Changelog: v1.09.1...v1.09.2
v1.09.1
What's Changed
- Activates Nest option in the Left Drawer
- Rename onRefresh callback to avoid shadowing parameter by @vitorpamplona in #2912
- Fix desktop app ProGuard build with Compose 1.11.0 by @vitorpamplona in #2914
- Fix pull-to-refresh indicator positioning in DisappearingScaffold by @vitorpamplona in #2916
- Remove collectAsStateWithLifecycle from BottomBarSettingsContent by @vitorpamplona in #2918
- Add Git repository detail screen with issues/patches tabs by @vitorpamplona in #2917
Full Changelog: v1.09.0...v1.09.1
v1.09.0: Nests, MLS/Marmot, Voice Calls, etc
What's Changed
- Add scroll-to-event functionality for push notifications by @vitorpamplona in #2066
- Add NIP-51 list event types for content curation and management by @vitorpamplona in #2067
- Add support for NIP-53 Meeting Spaces and Meeting Rooms by @vitorpamplona in #2069
- Add floating action buttons for media and poll creation by @vitorpamplona in #2070
- Enhance long-form article editor with banner image and tags UI by @vitorpamplona in #2071
- Add WebRTC-based peer-to-peer voice and video calling via NIP-AC by @vitorpamplona in #2068
- New Crowdin Translations by @github-actions[bot] in #2072
- Improve markdown rendering with enhanced typography and styling by @vitorpamplona in #2073
- Add support for NIP-59 Ephemeral Gift Wrap events (kind 21059) by @vitorpamplona in #2074
- Add remote video activity monitoring to detect peer disconnections by @vitorpamplona in #2075
- Add multi-device call state synchronization by @vitorpamplona in #2076
- Implement Tor SOCKS port retry logic with dynamic port allocation by @vitorpamplona in #2077
- Clamp PiP aspect ratio to Android system limits by @vitorpamplona in #2079
- Add proximity sensor support to auto-pause video during calls by @vitorpamplona in #2078
- Preload bookmark events to improve scrolling performance by @vitorpamplona in #2080
- Fix resource leaks and improve coroutine lifecycle management by @vitorpamplona in #2081
- New Crowdin Translations by @github-actions[bot] in #2082
- Implement Picture-in-Picture mode for call activity by @vitorpamplona in #2083
- New Crowdin Translations by @github-actions[bot] in #2084
- Improve video call quality with 720p resolution and bitrate limiting by @vitorpamplona in #2085
- NIP-AC: Document mid-call renegotiation and multi-device support by @vitorpamplona in #2086
- Add group call support to WebRTC call system by @vitorpamplona in #2087
- Add group call support with participant management by @vitorpamplona in #2088
- Improve call handling: busy rejection, peer tracking, and ICE state by @vitorpamplona in #2089
- New Crowdin Translations by @github-actions[bot] in #2090
- Add group call support with multi-member p-tags and per-peer SDP by @vitorpamplona in #2091
- Add maximum hashtag limit security filter by @vitorpamplona in #2092
- Disable hardware acceleration for profile picture image loading by @vitorpamplona in #2094
- Simplify poll creation UI and consolidate poll types by @greenart7c3 in #2093
- Add comprehensive logging to WebRTC call session and controller by @vitorpamplona in #2096
- New Crowdin Translations by @github-actions[bot] in #2095
- Exclude current user from group call member displays by @vitorpamplona in #2097
- Add Marmot protocol support (MIP-00 through MIP-05) by @vitorpamplona in #2098
- Fix group call handling for answer/reject events by @vitorpamplona in #2099
- Fix call UI to exclude current user from peer list by @vitorpamplona in #2100
- Add Marmot protocol support with MIP-00, MIP-02, MIP-03, MIP-05 implementations by @vitorpamplona in #2101
- New Crowdin Translations by @github-actions[bot] in #2102
- Refactor CallController for multi-peer group calls with mesh topology by @vitorpamplona in #2103
- Exclude current user from peer lists in call UI by @vitorpamplona in #2104
- Fix call state handling to prevent missed cleanup due to StateFlow conflation by @vitorpamplona in #2105
- Add MLS (Messaging Layer Security) implementation for Marmot by @vitorpamplona in #2106
- Fix call audio state transitions and notification handling by @vitorpamplona in #2107
- test: add comprehensive MLS engine tests and fix self-decrypt ratchet by @vitorpamplona in #2108
- Handle peer rejections in incoming group calls by @vitorpamplona in #2109
- Improve group call peer management and signaling robustness by @vitorpamplona in #2110
- Improve peer disconnection handling in calls by @vitorpamplona in #2111
- Add option to forward profile events to local relays by @greenart7c3 in #2112
- Add payment targets feature with NIP-A3 support by @greenart7c3 in #2114
- New Crowdin Translations by @github-actions[bot] in #2113
- Support multiple remote video tracks in group calls by @vitorpamplona in #2115
- Fix intermittent test failure, DesktopFeedFilters.kt by @davotoula in #2116
- New Crowdin Translations by @github-actions[bot] in #2117
- Improve video call UI to show active peer videos with fallback avatars by @vitorpamplona in #2119
- New Crowdin Translations by @github-actions[bot] in #2118
- Improve video call detection to include active video streams by @vitorpamplona in #2120
- Handle WebRTC offer glare in call renegotiation by @vitorpamplona in #2121
- Replace NIP-59 Gift Wraps with Ephemeral Gift Wraps for WebRTC calls by @vitorpamplona in #2123
- Add ability to dismiss poll notifications by @vitorpamplona in #2124
- Add MLS interoperability test vectors and implementations by @vitorpamplona in #2125
- fix for 5m hung windows build: Switching to cache: gradle in setup-java. by @davotoula in #2026
- New Crowdin Translations by @github-actions[bot] in #2126
- Improve broadcast completion detection and dismissal timing by @vitorpamplona in #2127
- Add routing support for Poll and ZapPoll draft edits by @vitorpamplona in #2128
- Set explicit surface color for Card in notification feed by @vitorpamplona in #2129
- Add tabbed interface to Polls screen for open/closed polls by @vitorpamplona in #2130
- NIP-AC: Comprehensive WebRTC call state machine and group call spec by @vitorpamplona in #2131
- show toast while downloading video for sharing by @davotoula in #2135
- Fix image sharing error by @davotoula in #2133
- Add MLS group state persistence and KeyPackage rotation management by @vitorpamplona in #2141
- Add poll results preview feature with persistent viewing state by @vitorpamplona in #2139
- Add thumbnail disk cache for profile pictures by @vitorpamplona in #2140
- New Crowdin Translations by @github-actions[bot] in #2137
- Add comprehensive test suite for NIP-AC call state machine by @vitorpamplona in #2143
- New Crowdin Translations by @github-actions[bot] in #2142
- feat: add missing translations for 5 keys across 4 locales by @davotoula in #2144
- Add Marmot inbound/outbound message processors and subscription manager by @vitorpamplona in #2146
- New Crowdin Translations by @github-actions[bot] in #2145
- Add Marmot MLS group messaging...
Release v1.08.0: Arti Tor
- Migrates C Tor to Arti Tor (hopefully no more random crashes)
- Fixes highlight of users when composing and tagging
Release v1.07.5: Fix image uploads
Release v1.07.4: NWC fix
Fixes Nostr wallet connect receiving the secret.
Release v1.07.3: New Shorts UI
- Migrates Shorts UI out of a paged design
- New edge-to-edge feed for Pictures only
- New edge-to-edge feed for Shorts only
- New edge-to-edge feed for long Videos only
- Migrates Badges to kind 10008
- Migrates Bookmarks to kind 10003
- Fixes AOSP keyboard auto-correction bug
- Fixes Poll's top nav filter
- Fixes loading of Bookmark sets
- Fixes sorting stability by including event ids
- Fixes cursor position in quote post field
- Fixes rendering of nostr: uris when composing notes
- Adds Basic support for reaction notifications
- Refactors NIP-58 Badges on Quartz
- Refactors LocalCache methods
- Improvements to the Chess engine (debug only)
- Add error handling to Tor service initialization and control
Release v1.07.2: GifKeyboards
- Adds GIF uploads support from Keyboard
- Migrates text fields and @ modifiers to the new Jetpack Compose states
- Fixes Bug that wasn't openning Amber to sign
- Fixes Bug on rejections using old Ambers
- Replaces hex input with user search dialog in relay management (allow/ban user)