What's Changed
- New Crowdin Translations by @github-actions[bot] in #3246
- fix(chat): track chatroom senders so followed-contact DMs land in Known by @vitorpamplona in #3249
- Add direct image file sharing without preview dialog by @vitorpamplona in #3247
- Cashu: avoid flickering invoice dialog during payment polling by @vitorpamplona in #3250
- New Crowdin Translations by @github-actions[bot] in #3248
- Add music playlist composer screen and edit support by @vitorpamplona in #3251
- docs: add Zapstore metadata and publishing relay guidance by @vitorpamplona in #3252
- Fix lone surrogates in truncated strings (emoji safety) by @vitorpamplona in #3254
- fix(cashu): NUT-02 per-keyset input fees in melt/swap (fixes coinos send-LN) by @vitorpamplona in #3255
- Cashu wallet: split recommendations into dedicated screen, add danger zone by @vitorpamplona in #3253
- Bump dependency versions in gradle/libs.versions.toml by @vitorpamplona in #3256
- Cashu: surface and help evacuate coins from untrusted mints by @vitorpamplona in #3257
- New Crowdin Translations by @github-actions[bot] in #3258
- New Crowdin Translations by @github-actions[bot] in #3259
- feat(desktop): launch optimization foundation + icon-decode/relay-bootstrap fixes by @nrobi144 in #3261
- New Crowdin Translations by @github-actions[bot] in #3262
- Add macOS code signing + notarization for DMG and amy CLI by @vitorpamplona in #3263
- New Crowdin Translations by @github-actions[bot] in #3264
- Fix public chat relay selection for channel messages by @vitorpamplona in #3265
- Refactor boost popup UI with reusable BoostActionChip component by @vitorpamplona in #3267
- Add hysteresis to status bar hide/show and dampen bar reveal by @vitorpamplona in #3268
- Fix lifecycle-aware subscriptions and notification relay throttling by @vitorpamplona in #3266
- Fix NostrClientRepeatSubTest to handle timing-dependent EOSE counts by @vitorpamplona in #3270
- Implement NIP-50 full-text search for additional event kinds by @vitorpamplona in #3271
- Add Roadstr road event support (kinds 1315/1316) by @vitorpamplona in #3272
- Add reply collapsing to thread view by @vitorpamplona in #3273
- New Crowdin Translations by @github-actions[bot] in #3269
- New Crowdin Translations by @github-actions[bot] in #3274
- fix(tor): warm-reset on dead-circuit self-heal instead of wiping state by @vitorpamplona in #3275
- Add resumable FTS reindex for NIP-50 search index rebuilds by @vitorpamplona in #3276
- Roadstr: visual overhaul with map hero and category pills by @vitorpamplona in #3277
- fix(desktop): macOS forced re-login on cold boot — ProGuard strips java-keyring backend by @nrobi144 in #3260
- New Crowdin Translations by @github-actions[bot] in #3279
Full Changelog: v1.12.1...v1.12.2