Add NIP-84 highlights support: composer, feed, and share intent by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3793
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3794
Desktop: profile screen parity - tabs, header actions, banner/bio, zaps by @nrobi144 in https://github.com/vitorpamplona/amethyst/pull/3795
Work around a fatal media3 crash on Low-Latency HLS (LL-HLS), eg NoGoodRadio by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3796
Harden workflow-ship.sh and pin it with a regression harness by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3797
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3799
chore: sync geode Homebrew formula to v1.13.1 by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3802
chore: sync amy Homebrew formula to v1.13.1 by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3801
Add Pictures, Videos, Shorts, and Torrents feed types by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3803
Address buzz CLI review findings; pin the wrapper copies and the amy arg surface by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3798
chore: sync winget manifests to v1.13.1 by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3805
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3806
Refactor chat bubble swipe gesture to use lower-level pointer APIs by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3807
Fix flaky PeerUniStreamDrainTest by confining drainer to producer's event loop by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3809
Make draft posts in thread view open edit screen on tap by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3811
NIP-29: Channel deletion, archival, and Buzz community UI by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3812
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3808
Consolidate NIP-71 video event types under shared interface by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3813
Add Nostr badge watermark to notification icons by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3815
Remove facepile from channel rows, simplify layout by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3814
feat(nip73): show rich previews for external-content comments by @dmnyc in https://github.com/vitorpamplona/amethyst/pull/3810
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3816
Confine Blossom cache probe and resolver to IO dispatcher by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3818
perf(nip73): prefetch external-content preview URLs by @dmnyc in https://github.com/vitorpamplona/amethyst/pull/3820
Extract RelayNameChip to shared component and add it to relay group message headers by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3822
Fix Torclearnet fallback banner logic with live socket state by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3823
Redesign channel invite cards as feed rows with metadata-only observers by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3821
fix: quiet the default log, add a boot narrative, and stop pinning Concord entities across a Refounding by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3819
Handle blank and malformed metadata gracefully by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3824
Add media share targets for Pictures, Shorts, and Video feeds by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3825
Fix metadata JSON parsing to use lenient parser consistently by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3828
Listen only while foregrounded, and fix the meter that measures it by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3827
Fix ServiceType parsing to handle edge cases safely by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3830
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3826
Fix SharedKeyCache hash collision vulnerability & add constant-time MAC comparison by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3833
feat(relays): explain why every subscription exists, and fix what that exposed by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3832
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3831
chore(actions): bump the actions group with 5 updates by @dependabot[bot] in https://github.com/vitorpamplona/amethyst/pull/3834
Add optimized decode64/decode128 and encode64/encode128 to Hex by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3837
NIP-66: measure relays from the traffic a client already makes by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3836
Fix InProcessWebSocket race condition in connect-time AUTH delivery by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3838
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3839
Let a monitor publish what it learned without dialling by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3841
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3840
Add StoreQueryContext for observer-relative ranking in stores by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3842
rtt-open is the transport's handshake, not our own queueing by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3843
refactor: decouple LocalCache and Account god classes (behavior-preserving) by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3844
Test: Type ExplainedFilter.copy() result as base Filter by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3845
fix: request follower-count provider's 30382 cards in UserCardsSubAssembler by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3846
Stop COUNT from inheriting the default page size by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3848
Fix fetchAllPages cropping streaming pages; normalize accessory timeouts to idle windows by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3850
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3849
fix(relay): stripe the subscription-state lock per relay to end an ANR convoy by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3851
docs: Add three store-implementer skills (event-store-semantics, nip85, searchable-events) by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3853
nip50Search: search grammar + weighted field extraction; nip01Core: shared store-semantics rules by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3854
quartz/geode: sync accessories from vespa-relay, InsertOutcome.Failed contract, mirror resume coverage by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3855
fix(relay): compare every filter in FiltersChanged, not just the first by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3856
NIP-66 relay monitoring: streaming probes, read/write checks, URL fixes by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3857
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3852
Support IPv6 overlay relays (Yggdrasil) with RFC 5952 canonicalization by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3859
Fix URL detection to exclude quotes from parsed URLs by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3860
SyncCoverage: one band interval cannot speak for several kinds by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3862
Replace BackHandler with KeyboardAwareBackHandler in posting screens by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3864
Suspend the incoming-message chain down to SubscriptionListener.onEvent by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3863
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3861
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3867
Make the left drawer configurable by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3866
fix(media): stop rendering non-media NIP-94 files as video by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3868
fix(ime): settle the keyboard in Nav so every screen stops stranding imePadding by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3870
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3869
negentropy: size reconcile windows from the caller's index, and state the relay's cap by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3871
Stop the outbox getting slower with every publish by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3872
Repair bare-subtype imeta MIME types so images can be shared by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3874
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3875
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3876
Quartz: give SyncCoverage's persistence a typed band key by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3877
Rename parameters for clarity and consistency by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3878
feat(resourceusage): measure why relay data is spent, not just how much by @davotoula in https://github.com/vitorpamplona/amethyst/pull/3879
feat(concord): staff-held control_root write-gates the Control Plane (CORD-02 2) by @alexgleason in https://github.com/vitorpamplona/amethyst/pull/3873
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3880
fix(quartz): update NIP-66 relay records instead of rebuilding them by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3882
fix(quartz): merge probe verdicts into the record they replace by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3883
Let a drained paged walk close the sync leg below it by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3884
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3881
fix(concord): close the soft-ban authority holes (audit A1-A4, B1, B2, B4) by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3885
fix: stop reposts from being bundled with the always-on service notification by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3886
Align napplet host with current NIP-5D and NAPs by @dskvr in https://github.com/vitorpamplona/amethyst/pull/3858
quartz: make a paged walk terminate - floor the cursor at 0, stop when a relay ignores it by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3889
feat(concord): close the CORD-05/06 invite lifecycle - Invite List, re-mint on Refounding, revocation by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3888
negentropy: let a caller decline an id before the download REQ by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3892
feat(desktop): per-visible metadata + reaction loading via shared finders in commons by @nrobi144 in https://github.com/vitorpamplona/amethyst/pull/3890
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3891
fix(nav): switching between two pinned web-app tabs crashed onto the wrong one by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3894
fix(embed): bring the keyboard back on a tap in an already-focused field by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3895
Declare pointer hints on Report, ChatMessage, Classifieds and ChannelCreate events by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3896
Add "Copy Original/Translated" chooser for translated notes by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3897
feat(polls): extended poll results page with voter list by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3898
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3893
Redesign relay auth permissions UI and decision flow by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3899
Optimize locale application to skip redundant system calls by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3901
Fix push registration to fail loudly on HTTP errors by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3900
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3902
Add bulk audience picker for short-note composer by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3903
New Crowdin Translations by @github-actions[bot] in https://github.com/vitorpamplona/amethyst/pull/3904
Auth: recognize NIP-29 groups and Concord communities as joined venues by @vitorpamplona in https://github.com/vitorpamplona/amethyst/pull/3906