Remove unnecessary null assertion in SecureKeyStorage by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4131
Add picture and video kinds to all home feed legs by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4133
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4132
chore: sync geode Homebrew formula to v1.16.0 by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4136
chore: sync amethyst-nostr cask to v1.16.0 by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4139
chore: sync winget manifests to v1.16.0 by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4138
chore: sync amy Homebrew formula to v1.16.0 by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4137
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4140
Pin NDK version for reproducible APK builds by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4142
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4143
Add 32-bit ABI support (armeabi-v7a, x86) to Arti build by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4144
Overhaul QR scanner with Camera2, zxing-cpp, and reproducible builds by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4146
NIP-52: Add relay hints for calendar RSVPs and appointments by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4145
fix(qr): audit follow-ups - keep key material off the screen and out of the log, guard the QR native library by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4147
Migrate NIP-47 Jackson serializers to Kotlin Serialization by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4148
Progressive Health Connect reads: show partial results while metrics load by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4151
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4150
Add NIP-CC geocaching support (kinds 37516, 7516, 7517, 37517) by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4152
Extract calendar screen state to ViewModel by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4153
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4154
fix: geocache log relays, multi-code picture picker, and stop the scanner pumping zoom by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4155
Add @OptIn(ExperimentalCoroutinesApi) to calendar test classes by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4156
fix: stop the QR scanner pumping the zoom in and out by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4158
Detect and report coroutine leaks in unit tests by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4157
fix: wallet-connect deep links with one colon, and explain why bunker:// cannot sign in by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4160
Fix nav-bar tab switching to restore stacks from other tabs by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4161
Move LocalCache into commons, and clear the blockers on retiring the Desktop fork by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4149
Fix notification deep links and add inline reply feedback by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4162
Correct Health Connect declaration and Data safety form by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4163
NIP-71 video interop, and a renderer for every NIP-51 list kind by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4135
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4159
Marmot: warn when invites land on another device by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4165
Optimize Marmot message log with segmented encryption and sender ratchet tracking by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4167
Migrate search field to OutputTransformation and TextFieldState by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4168
Migrate string resources from R to Compose Resources by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4169
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4166
refactor: break AccountSettings' UI coupling and move the first 23 model files to commons by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4171
Add backup conflict detection and resolution UI by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4174
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4173
Local Blossom cache: fix video playback, harden the bridge, route it only at the HTTP layer by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4172
Keep PoW mining alive when app backgrounded, fix draft deletion race by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4179
fix(marmot): blank the sender's path on Update proposals by @jeremyd in https://github.com/vitorpamplona/amethyst/pull/4178
fix(marmot): keep populated parents when adding a leaf by @jeremyd in https://github.com/vitorpamplona/amethyst/pull/4177
refactor: move the UI's bottom layers (theme, leaf composables, Route/INav) from amethyst into commonsUI by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4176
Fix race condition in PoWPublishQueue job removal by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4180
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4175
Implement DECK-0003 (SNO) reader, rasterizer, and Cyberspace bag opening by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4186
fix(marmot): accept extensions every member supports in GCE proposals by @jeremyd in https://github.com/vitorpamplona/amethyst/pull/4182
feat(marmot): Ed25519.keyPairFromSeed by @jeremyd in https://github.com/vitorpamplona/amethyst/pull/4183
feat(marmot): send and return authenticated_data on application messages by @jeremyd in https://github.com/vitorpamplona/amethyst/pull/4184
feat(marmot): caller-chosen group_id and optional required_capabilities by @jeremyd in https://github.com/vitorpamplona/amethyst/pull/4187
feat(marmot): optional leaf lifetime on createKeyPackage by @jeremyd in https://github.com/vitorpamplona/amethyst/pull/4188
refactor: Render/Display split, batches 1-3 - shared displays for AccountViewModel-bound composables by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4185
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4181
fix: address the audit of the Render/Display split - desktop uses the shared dialogs, no blank group messages by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4189
refactor: one shared user avatar, shared user and event observers, score tags by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4191
refactor: share SafeImeInsets, DisappearingScaffold, emoji and name text, clipboard, screen layout, FAB padding and route builders by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4193
refactor: share the UI settings and toasts, add LocalDisplaySettings, call LocalCache directly by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4194
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4192
Add Decentralized Lists (kinds 9998, 39998, 9999, 39999) support by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4197
test(commons): record decentralized lists as searchable but not rendered by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4198
Increase URL preview read limit to 2 MB for YouTube compatibility by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4200
Add Cordn group messaging UI and runtime implementation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4201
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4195
Replace JacksonMapper with native JSON serialization in CordnMigration by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4202
fix: green main again - the three CI jobs #4201 broke by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4203
refactor: move the preference layer off EncryptedSharedPreferences and into commons by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4190
fix(browser): the two device crashes in the new Compose chrome by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4204
Migrate backup conflict strings to composResources by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4205
DRAFT - hold: d-tag collision for addressable tagging targets is a Tapestry spec defect by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4199
refactor: rename Quartz event classes to match their NIP names by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4207
feat(browser): name the browser the hand-off tile will open by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4208
feat(browser): Chrome-PWA parity and a shared Compose chrome for every browser surface by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4211
refactor(commonsUI): move ScreenLayout, TimeAgo, the theme core, chat bubbles and single-blocker components by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4210
feat(quartz): NIP-FE relay commands over HTTP by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4212
fix(browser): the pill's site-settings line only told the truth after you opened page info by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4213
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4206
chore(i18n): fill missing cs/de/sv/pt-BR translations and pluralise count strings by @davotoula in https://github.com/vitorpamplona/amethyst/pull/4217
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4218
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4219
fix(quartz): give search the release notes, list roles and caption words it was missing by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4215
fix(audio): make the audio visualizer update in real time by @davotoula in https://github.com/vitorpamplona/amethyst/pull/4216
Migrate 68 unblocked ui/ files to commons and commonsUI by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4221
fix(quartz): a superseded replaceable is REPLACED (OK false), not a duplicate by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4222
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4220
fix(quartz): NIP-FE review fixes, NIP-98 sign-in policy vote, frames without sub id, drop /neg by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4214
fix(embed): stop RemoteImeView taking focus from the rest of the app by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4224
feat: redesign Backup Keys (hand-copyable nsec, confirm-then-encrypt ncryptsec) + NIP-49 fixes by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4209
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4223
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4225
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4227
fix(cast): Android 17 Chromecast discovery, receiver failure messages and teardown fixes by @davotoula in https://github.com/vitorpamplona/amethyst/pull/4226
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4229
Add navDrawer() to distinguish drawer destinations from in-app pushes by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4230
Add NIP-FE (HTTP relay commands) support to geode by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4231
fix(marmot): send reactions and deletions inside the group, not as NIP-17 DMs by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4233
fix(marmot): treat the relay echo of our own unconfirmed commit as its confirmation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4232
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4234
fix(relay): drop a kind the relay refuses by name instead of losing the whole REQ by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4238
fix(marmot): apply edits from other clients, live and after restart by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4240
feat(android): opt into ARM Memory Tagging Extension (async) by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4228
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/4241
feat: catch up with the last 3 months of NIP spec changes by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/4236