From ac103efb1c4846f5099029424120655874c24a91 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sat, 1 Aug 2026 14:55:02 +0000
Subject: [PATCH] chore: prepare release 1.21.0
---
.changeset/add-imperative-confirm-facade.md | 5 -
.changeset/add-modal-for-room-details.md | 5 -
.changeset/add-msc4466-profile-propagation.md | 5 -
.changeset/add-offline-account-actions.md | 5 -
.../add-reorderable-composer-buttons.md | 5 -
...t_wide_persona_toggle_in_persona_picker.md | 5 -
...ading_feedback_in_persona_settings_menu.md | 5 -
..._persona_latching_when_using_shorthands.md | 5 -
.changeset/add_persona_name_colors.md | 5 -
.changeset/add_persona_picker_in_editor.md | 5 -
.../add_pmp_shorthand_editing_in_settings.md | 5 -
...n_for_homeserver_discovery_during_login.md | 5 -
.changeset/bottom-sheet-files.md | 5 -
.../cache-device-verification-status.md | 5 -
.../cache-sliding-sync-room-metadata.md | 5 -
...clean_up_the_design_of_persona_settings.md | 5 -
.changeset/cosmetics-null-member.md | 5 -
.changeset/device-display-name.md | 5 -
...feat-revamp-connection-status-indicator.md | 5 -
.changeset/firefox-media-orb.md | 5 -
.changeset/fix-autocomplete-focus-mobile.md | 5 -
...fix-backup-key-recovery-verified-device.md | 5 -
.changeset/fix-banner-spam.md | 5 -
.../fix-bridged-avatars-sliding-sync.md | 5 -
.changeset/fix-crashing-maps.md | 5 -
.changeset/fix-double-leave.md | 5 -
.changeset/fix-encrypted-media-blob-leak.md | 5 -
.../fix-encrypted-media-content-type.md | 5 -
...-following-conversation-press-animation.md | 5 -
.changeset/fix-identity-reset-oidc-sso.md | 5 -
.../fix-markdown-task-list-rendering.md | 5 -
.changeset/fix-menu-and-thread-regressions.md | 5 -
.changeset/fix-menu-open-toggle-races.md | 5 -
.../fix-missing-scheduled-message-chip.md | 5 -
.../fix-mobile-drawer-offscreen-scroll.md | 5 -
.changeset/fix-mobile-edit-keyboard.md | 5 -
...fix-mobile-selects-and-long-press-sheet.md | 5 -
.changeset/fix-mobile-touch-feedback.md | 5 -
.../fix-network-switch-sync-recovery.md | 5 -
.../fix-overlapping-panels-mobile-swipe.md | 5 -
.changeset/fix-page-title-mention-count.md | 5 -
.changeset/fix-poll-rendering.md | 5 -
.changeset/fix-profile-sheet-surface-color.md | 5 -
.changeset/fix-sidebar-cache-invite-state.md | 5 -
.changeset/fix-sliding-sync-display-names.md | 5 -
.../fix-sliding-sync-member-profiles.md | 5 -
.../fix-sliding-sync-not-syncing-calls.md | 5 -
.../fix-sliding-sync-stale-display-names.md | 5 -
.changeset/fix-sliding-sync-subspaces.md | 5 -
.changeset/fix-space-icons-sliding-sync.md | 5 -
.changeset/fix-sticker-packs-sliding-sync.md | 5 -
.changeset/fix-synced-local-tweaks.md | 5 -
.../fix-thread-rendering-and-avatars.md | 5 -
.changeset/fix-timeline-auto-follow.md | 5 -
.changeset/fix-timeline-late-growth-scroll.md | 5 -
.../fix-timeline-pagination-hidden-events.md | 5 -
.changeset/fix-timeline-runaway-pagination.md | 5 -
.../fix-typing-indicator-scroll-snap.md | 5 -
.changeset/fix-various-visual-fixes.md | 5 -
.changeset/fix-voice-record-pointercancel.md | 5 -
.changeset/fix-voice-recorder-start-races.md | 5 -
...apping_bookmarks_and_bold_text_shortcut.md | 5 -
...reaking_when_using_a_proxy_tagshorthand.md | 5 -
.changeset/gzipped-lottie.md | 5 -
.changeset/media-session-wait.md | 5 -
.../media-slow-network-and-ipc-resilience.md | 5 -
.../migrate-menus-onto-useMenuAnchor.md | 5 -
.../mobile-bottom-sheet-consolidation.md | 5 -
.../notification-sounds-off-media-layer.md | 5 -
.changeset/oauth-uia-stage-type.md | 5 -
.changeset/option-always-inline-editor.md | 5 -
.changeset/perf-cold-start-bundle.md | 5 -
.changeset/persona_picker_style_tweaks.md | 5 -
.changeset/polish-account-settings-mobile.md | 5 -
.changeset/polish-mobile-chat-input.md | 5 -
.changeset/properly_format_pmp_replies.md | 5 -
.changeset/prune-inactive-room-timelines.md | 5 -
.changeset/room-nav-mobile-options-sheet.md | 5 -
.changeset/sticker-send-pack-info.md | 5 -
.changeset/swipe-to-edit.md | 5 -
.changeset/tauri.md | 10 --
.../timeline-performance-improvements.md | 5 -
...membership_event_reasons_in_parentheses.md | 5 -
CHANGELOG.md | 92 +++++++++++++++++++
package.json | 4 +-
src-tauri/Cargo.toml | 2 +-
src-tauri/tauri.conf.json | 23 +++--
87 files changed, 112 insertions(+), 429 deletions(-)
delete mode 100644 .changeset/add-imperative-confirm-facade.md
delete mode 100644 .changeset/add-modal-for-room-details.md
delete mode 100644 .changeset/add-msc4466-profile-propagation.md
delete mode 100644 .changeset/add-offline-account-actions.md
delete mode 100644 .changeset/add-reorderable-composer-buttons.md
delete mode 100644 .changeset/add_account_wide_persona_toggle_in_persona_picker.md
delete mode 100644 .changeset/add_loading_feedback_in_persona_settings_menu.md
delete mode 100644 .changeset/add_persona_latching_when_using_shorthands.md
delete mode 100644 .changeset/add_persona_name_colors.md
delete mode 100644 .changeset/add_persona_picker_in_editor.md
delete mode 100644 .changeset/add_pmp_shorthand_editing_in_settings.md
delete mode 100644 .changeset/add_retry_button_for_homeserver_discovery_during_login.md
delete mode 100644 .changeset/bottom-sheet-files.md
delete mode 100644 .changeset/cache-device-verification-status.md
delete mode 100644 .changeset/cache-sliding-sync-room-metadata.md
delete mode 100644 .changeset/clean_up_the_design_of_persona_settings.md
delete mode 100644 .changeset/cosmetics-null-member.md
delete mode 100644 .changeset/device-display-name.md
delete mode 100644 .changeset/feat-revamp-connection-status-indicator.md
delete mode 100644 .changeset/firefox-media-orb.md
delete mode 100644 .changeset/fix-autocomplete-focus-mobile.md
delete mode 100644 .changeset/fix-backup-key-recovery-verified-device.md
delete mode 100644 .changeset/fix-banner-spam.md
delete mode 100644 .changeset/fix-bridged-avatars-sliding-sync.md
delete mode 100644 .changeset/fix-crashing-maps.md
delete mode 100644 .changeset/fix-double-leave.md
delete mode 100644 .changeset/fix-encrypted-media-blob-leak.md
delete mode 100644 .changeset/fix-encrypted-media-content-type.md
delete mode 100644 .changeset/fix-following-conversation-press-animation.md
delete mode 100644 .changeset/fix-identity-reset-oidc-sso.md
delete mode 100644 .changeset/fix-markdown-task-list-rendering.md
delete mode 100644 .changeset/fix-menu-and-thread-regressions.md
delete mode 100644 .changeset/fix-menu-open-toggle-races.md
delete mode 100644 .changeset/fix-missing-scheduled-message-chip.md
delete mode 100644 .changeset/fix-mobile-drawer-offscreen-scroll.md
delete mode 100644 .changeset/fix-mobile-edit-keyboard.md
delete mode 100644 .changeset/fix-mobile-selects-and-long-press-sheet.md
delete mode 100644 .changeset/fix-mobile-touch-feedback.md
delete mode 100644 .changeset/fix-network-switch-sync-recovery.md
delete mode 100644 .changeset/fix-overlapping-panels-mobile-swipe.md
delete mode 100644 .changeset/fix-page-title-mention-count.md
delete mode 100644 .changeset/fix-poll-rendering.md
delete mode 100644 .changeset/fix-profile-sheet-surface-color.md
delete mode 100644 .changeset/fix-sidebar-cache-invite-state.md
delete mode 100644 .changeset/fix-sliding-sync-display-names.md
delete mode 100644 .changeset/fix-sliding-sync-member-profiles.md
delete mode 100644 .changeset/fix-sliding-sync-not-syncing-calls.md
delete mode 100644 .changeset/fix-sliding-sync-stale-display-names.md
delete mode 100644 .changeset/fix-sliding-sync-subspaces.md
delete mode 100644 .changeset/fix-space-icons-sliding-sync.md
delete mode 100644 .changeset/fix-sticker-packs-sliding-sync.md
delete mode 100644 .changeset/fix-synced-local-tweaks.md
delete mode 100644 .changeset/fix-thread-rendering-and-avatars.md
delete mode 100644 .changeset/fix-timeline-auto-follow.md
delete mode 100644 .changeset/fix-timeline-late-growth-scroll.md
delete mode 100644 .changeset/fix-timeline-pagination-hidden-events.md
delete mode 100644 .changeset/fix-timeline-runaway-pagination.md
delete mode 100644 .changeset/fix-typing-indicator-scroll-snap.md
delete mode 100644 .changeset/fix-various-visual-fixes.md
delete mode 100644 .changeset/fix-voice-record-pointercancel.md
delete mode 100644 .changeset/fix-voice-recorder-start-races.md
delete mode 100644 .changeset/fix_overlapping_bookmarks_and_bold_text_shortcut.md
delete mode 100644 .changeset/fix_spoilers_breaking_when_using_a_proxy_tagshorthand.md
delete mode 100644 .changeset/gzipped-lottie.md
delete mode 100644 .changeset/media-session-wait.md
delete mode 100644 .changeset/media-slow-network-and-ipc-resilience.md
delete mode 100644 .changeset/migrate-menus-onto-useMenuAnchor.md
delete mode 100644 .changeset/mobile-bottom-sheet-consolidation.md
delete mode 100644 .changeset/notification-sounds-off-media-layer.md
delete mode 100644 .changeset/oauth-uia-stage-type.md
delete mode 100644 .changeset/option-always-inline-editor.md
delete mode 100644 .changeset/perf-cold-start-bundle.md
delete mode 100644 .changeset/persona_picker_style_tweaks.md
delete mode 100644 .changeset/polish-account-settings-mobile.md
delete mode 100644 .changeset/polish-mobile-chat-input.md
delete mode 100644 .changeset/properly_format_pmp_replies.md
delete mode 100644 .changeset/prune-inactive-room-timelines.md
delete mode 100644 .changeset/room-nav-mobile-options-sheet.md
delete mode 100644 .changeset/sticker-send-pack-info.md
delete mode 100644 .changeset/swipe-to-edit.md
delete mode 100644 .changeset/tauri.md
delete mode 100644 .changeset/timeline-performance-improvements.md
delete mode 100644 .changeset/wrap_membership_event_reasons_in_parentheses.md
diff --git a/.changeset/add-imperative-confirm-facade.md b/.changeset/add-imperative-confirm-facade.md
deleted file mode 100644
index 0029f173b0..0000000000
--- a/.changeset/add-imperative-confirm-facade.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Add an imperative `confirm()` facade for destructive confirms and route the leave-room confirms onto it.
diff --git a/.changeset/add-modal-for-room-details.md b/.changeset/add-modal-for-room-details.md
deleted file mode 100644
index 259c8d5169..0000000000
--- a/.changeset/add-modal-for-room-details.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Added a modal for viewing room details on smaller screens.
diff --git a/.changeset/add-msc4466-profile-propagation.md b/.changeset/add-msc4466-profile-propagation.md
deleted file mode 100644
index 9afe3f0aba..0000000000
--- a/.changeset/add-msc4466-profile-propagation.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-Add MSC4466 profile sync controls for supported homeservers.
diff --git a/.changeset/add-offline-account-actions.md b/.changeset/add-offline-account-actions.md
deleted file mode 100644
index 54d35036b5..0000000000
--- a/.changeset/add-offline-account-actions.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Add account switching and logout actions to the offline screen.
diff --git a/.changeset/add-reorderable-composer-buttons.md b/.changeset/add-reorderable-composer-buttons.md
deleted file mode 100644
index 0415e69348..0000000000
--- a/.changeset/add-reorderable-composer-buttons.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-Add toggleable, reorderable composer trigger buttons (emoji, gif, sticker) with a drag-and-drop settings list.
diff --git a/.changeset/add_account_wide_persona_toggle_in_persona_picker.md b/.changeset/add_account_wide_persona_toggle_in_persona_picker.md
deleted file mode 100644
index 96f4df9113..0000000000
--- a/.changeset/add_account_wide_persona_toggle_in_persona_picker.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-# Add Account-wide persona toggle in Persona Picker
diff --git a/.changeset/add_loading_feedback_in_persona_settings_menu.md b/.changeset/add_loading_feedback_in_persona_settings_menu.md
deleted file mode 100644
index bafc389b11..0000000000
--- a/.changeset/add_loading_feedback_in_persona_settings_menu.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Add loading feedback in Persona settings menu
diff --git a/.changeset/add_persona_latching_when_using_shorthands.md b/.changeset/add_persona_latching_when_using_shorthands.md
deleted file mode 100644
index d31b91a59f..0000000000
--- a/.changeset/add_persona_latching_when_using_shorthands.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-# Add persona latching when using shorthands
diff --git a/.changeset/add_persona_name_colors.md b/.changeset/add_persona_name_colors.md
deleted file mode 100644
index e647b21aef..0000000000
--- a/.changeset/add_persona_name_colors.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-# Add persona name colors
diff --git a/.changeset/add_persona_picker_in_editor.md b/.changeset/add_persona_picker_in_editor.md
deleted file mode 100644
index 881b11bec2..0000000000
--- a/.changeset/add_persona_picker_in_editor.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-# Add Persona picker in Editor
diff --git a/.changeset/add_pmp_shorthand_editing_in_settings.md b/.changeset/add_pmp_shorthand_editing_in_settings.md
deleted file mode 100644
index 1db2dec7f3..0000000000
--- a/.changeset/add_pmp_shorthand_editing_in_settings.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-# Add PMP shorthand editing in Settings
diff --git a/.changeset/add_retry_button_for_homeserver_discovery_during_login.md b/.changeset/add_retry_button_for_homeserver_discovery_during_login.md
deleted file mode 100644
index 2ce811c741..0000000000
--- a/.changeset/add_retry_button_for_homeserver_discovery_during_login.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Add retry button for homeserver discovery during login
diff --git a/.changeset/bottom-sheet-files.md b/.changeset/bottom-sheet-files.md
deleted file mode 100644
index 66da5a9139..0000000000
--- a/.changeset/bottom-sheet-files.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-Attach files and media from a bottom sheet on the message input.
diff --git a/.changeset/cache-device-verification-status.md b/.changeset/cache-device-verification-status.md
deleted file mode 100644
index bf3c5cde0b..0000000000
--- a/.changeset/cache-device-verification-status.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Cache cross-signing device verification so sliding sync device list updates no longer re-verify every device on every response.
diff --git a/.changeset/cache-sliding-sync-room-metadata.md b/.changeset/cache-sliding-sync-room-metadata.md
deleted file mode 100644
index d6d98093fa..0000000000
--- a/.changeset/cache-sliding-sync-room-metadata.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Cache room metadata for faster sliding sync warm starts.
diff --git a/.changeset/clean_up_the_design_of_persona_settings.md b/.changeset/clean_up_the_design_of_persona_settings.md
deleted file mode 100644
index 49f3e9c895..0000000000
--- a/.changeset/clean_up_the_design_of_persona_settings.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-# Clean up the design of Persona settings
diff --git a/.changeset/cosmetics-null-member.md b/.changeset/cosmetics-null-member.md
deleted file mode 100644
index a3b01f6af4..0000000000
--- a/.changeset/cosmetics-null-member.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix a crash when opening room cosmetics settings before the room member list has loaded.
diff --git a/.changeset/device-display-name.md b/.changeset/device-display-name.md
deleted file mode 100644
index 0e2c3c14fb..0000000000
--- a/.changeset/device-display-name.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-# Update the device display name after login to reflect the current client and build flavor.
diff --git a/.changeset/feat-revamp-connection-status-indicator.md b/.changeset/feat-revamp-connection-status-indicator.md
deleted file mode 100644
index 55b9546e2c..0000000000
--- a/.changeset/feat-revamp-connection-status-indicator.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-Replaced the connection status top bar with a small styled popup and added a variant that shows sliding sync initial progress.
diff --git a/.changeset/firefox-media-orb.md b/.changeset/firefox-media-orb.md
deleted file mode 100644
index 853c387895..0000000000
--- a/.changeset/firefox-media-orb.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix video and audio failing to play on Firefox with "no video with supported format and MIME type found".
diff --git a/.changeset/fix-autocomplete-focus-mobile.md b/.changeset/fix-autocomplete-focus-mobile.md
deleted file mode 100644
index 5ef964aa54..0000000000
--- a/.changeset/fix-autocomplete-focus-mobile.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Keep the message input focused after selecting autocomplete suggestions.
diff --git a/.changeset/fix-backup-key-recovery-verified-device.md b/.changeset/fix-backup-key-recovery-verified-device.md
deleted file mode 100644
index f6d7a5bee7..0000000000
--- a/.changeset/fix-backup-key-recovery-verified-device.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Fix being unable to restore key backup on a verified device
diff --git a/.changeset/fix-banner-spam.md b/.changeset/fix-banner-spam.md
deleted file mode 100644
index 1702cf9dae..0000000000
--- a/.changeset/fix-banner-spam.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Made popups on start appear sequentially instead of bombarding all at once.
diff --git a/.changeset/fix-bridged-avatars-sliding-sync.md b/.changeset/fix-bridged-avatars-sliding-sync.md
deleted file mode 100644
index 0ce14a79e0..0000000000
--- a/.changeset/fix-bridged-avatars-sliding-sync.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix missing profile pictures for bridged users in timeline when using sliding sync.
diff --git a/.changeset/fix-crashing-maps.md b/.changeset/fix-crashing-maps.md
deleted file mode 100644
index 9cd6dfb53f..0000000000
--- a/.changeset/fix-crashing-maps.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix Maps that contain incorrect numbers for lat/lon crashing sable
diff --git a/.changeset/fix-double-leave.md b/.changeset/fix-double-leave.md
deleted file mode 100644
index d092788b70..0000000000
--- a/.changeset/fix-double-leave.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix room leaving state not updating immediately in UI.
diff --git a/.changeset/fix-encrypted-media-blob-leak.md b/.changeset/fix-encrypted-media-blob-leak.md
deleted file mode 100644
index 9c8549f148..0000000000
--- a/.changeset/fix-encrypted-media-blob-leak.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Free decrypted images and media from memory instead of holding them until reload
diff --git a/.changeset/fix-encrypted-media-content-type.md b/.changeset/fix-encrypted-media-content-type.md
deleted file mode 100644
index f309cbbd3d..0000000000
--- a/.changeset/fix-encrypted-media-content-type.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix encrypted images and GIFs failing to render, and improve media cache handling.
diff --git a/.changeset/fix-following-conversation-press-animation.md b/.changeset/fix-following-conversation-press-animation.md
deleted file mode 100644
index 40c127079c..0000000000
--- a/.changeset/fix-following-conversation-press-animation.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Smooth out animation when tapping 'following the conversation'.
diff --git a/.changeset/fix-identity-reset-oidc-sso.md b/.changeset/fix-identity-reset-oidc-sso.md
deleted file mode 100644
index 57720746f5..0000000000
--- a/.changeset/fix-identity-reset-oidc-sso.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix OIDC/SSO identity reset not being detected or completed by the client.
diff --git a/.changeset/fix-markdown-task-list-rendering.md b/.changeset/fix-markdown-task-list-rendering.md
deleted file mode 100644
index 8299148e84..0000000000
--- a/.changeset/fix-markdown-task-list-rendering.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Fix Markdown checklists rendering as raw `` HTML
diff --git a/.changeset/fix-menu-and-thread-regressions.md b/.changeset/fix-menu-and-thread-regressions.md
deleted file mode 100644
index 3ff9f6c86d..0000000000
--- a/.changeset/fix-menu-and-thread-regressions.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix context menus, message long-press, bottom sheet swipe-to-dismiss, thread reactions, thread root replies, and the direct conversation invite prompt.
diff --git a/.changeset/fix-menu-open-toggle-races.md b/.changeset/fix-menu-open-toggle-races.md
deleted file mode 100644
index 6659e274e4..0000000000
--- a/.changeset/fix-menu-open-toggle-races.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix context menus dismissing themselves instead of opening.
diff --git a/.changeset/fix-missing-scheduled-message-chip.md b/.changeset/fix-missing-scheduled-message-chip.md
deleted file mode 100644
index 5ff513dba3..0000000000
--- a/.changeset/fix-missing-scheduled-message-chip.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix the scheduled-messages chip not appearing in a room despite having pending scheduled messages.
diff --git a/.changeset/fix-mobile-drawer-offscreen-scroll.md b/.changeset/fix-mobile-drawer-offscreen-scroll.md
deleted file mode 100644
index f4e8d4ce22..0000000000
--- a/.changeset/fix-mobile-drawer-offscreen-scroll.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix the navigation drawer sliding permanently out of frame after the keyboard or a focus change scrolls the panel track.
diff --git a/.changeset/fix-mobile-edit-keyboard.md b/.changeset/fix-mobile-edit-keyboard.md
deleted file mode 100644
index 1d0dbd7bf3..0000000000
--- a/.changeset/fix-mobile-edit-keyboard.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix keyboard flickering when editing messages.
diff --git a/.changeset/fix-mobile-selects-and-long-press-sheet.md b/.changeset/fix-mobile-selects-and-long-press-sheet.md
deleted file mode 100644
index ac8a5f6f65..0000000000
--- a/.changeset/fix-mobile-selects-and-long-press-sheet.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Show setting selects as dialogs where appropriate, keep a long-pressed room's menu open, and stop wide setting tiles squeezing their title.
diff --git a/.changeset/fix-mobile-touch-feedback.md b/.changeset/fix-mobile-touch-feedback.md
deleted file mode 100644
index 8b0f737ee4..0000000000
--- a/.changeset/fix-mobile-touch-feedback.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Improve touch feedback and prevent accidental presses.
diff --git a/.changeset/fix-network-switch-sync-recovery.md b/.changeset/fix-network-switch-sync-recovery.md
deleted file mode 100644
index ad021f5e4f..0000000000
--- a/.changeset/fix-network-switch-sync-recovery.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Recover faster from network switches and flaky connections.
diff --git a/.changeset/fix-overlapping-panels-mobile-swipe.md b/.changeset/fix-overlapping-panels-mobile-swipe.md
deleted file mode 100644
index 4dcac6dabd..0000000000
--- a/.changeset/fix-overlapping-panels-mobile-swipe.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Make navigation smoother and room opening faster.
diff --git a/.changeset/fix-page-title-mention-count.md b/.changeset/fix-page-title-mention-count.md
deleted file mode 100644
index 1dffb5b20f..0000000000
--- a/.changeset/fix-page-title-mention-count.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Changed the web page title to show the mention count instead of the total unread message count.
diff --git a/.changeset/fix-poll-rendering.md b/.changeset/fix-poll-rendering.md
deleted file mode 100644
index 9b6fc400d0..0000000000
--- a/.changeset/fix-poll-rendering.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Restore polls in room timelines.
diff --git a/.changeset/fix-profile-sheet-surface-color.md b/.changeset/fix-profile-sheet-surface-color.md
deleted file mode 100644
index 50ca0cddb2..0000000000
--- a/.changeset/fix-profile-sheet-surface-color.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Colour profile sheets with the profile's hero colour again, including the drag handle and navigation bar inset. Restore full scrolling in the pinned-messages sheet.
diff --git a/.changeset/fix-sidebar-cache-invite-state.md b/.changeset/fix-sidebar-cache-invite-state.md
deleted file mode 100644
index f6c76e9701..0000000000
--- a/.changeset/fix-sidebar-cache-invite-state.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fixed accepted invites reappearing after restart on homeservers that keep sending invite state for joined rooms.
diff --git a/.changeset/fix-sliding-sync-display-names.md b/.changeset/fix-sliding-sync-display-names.md
deleted file mode 100644
index 43578d1da5..0000000000
--- a/.changeset/fix-sliding-sync-display-names.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix missing user display names under sliding sync across search, notifications, threads, and replies.
diff --git a/.changeset/fix-sliding-sync-member-profiles.md b/.changeset/fix-sliding-sync-member-profiles.md
deleted file mode 100644
index 515ba1c00d..0000000000
--- a/.changeset/fix-sliding-sync-member-profiles.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix display names in read receipts and event details when using sliding sync with member drawer closed.
diff --git a/.changeset/fix-sliding-sync-not-syncing-calls.md b/.changeset/fix-sliding-sync-not-syncing-calls.md
deleted file mode 100644
index 890bf35196..0000000000
--- a/.changeset/fix-sliding-sync-not-syncing-calls.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix sliding sync not subscribing to call updates.
diff --git a/.changeset/fix-sliding-sync-stale-display-names.md b/.changeset/fix-sliding-sync-stale-display-names.md
deleted file mode 100644
index 2b7b401c0b..0000000000
--- a/.changeset/fix-sliding-sync-stale-display-names.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix outdated user display names in chats under sliding sync by force-refreshing room member state when the global profile suggests the per-room name is stale.
diff --git a/.changeset/fix-sliding-sync-subspaces.md b/.changeset/fix-sliding-sync-subspaces.md
deleted file mode 100644
index 38db06a375..0000000000
--- a/.changeset/fix-sliding-sync-subspaces.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix subspaces with emote packs listed as separate spaces under sliding sync.
diff --git a/.changeset/fix-space-icons-sliding-sync.md b/.changeset/fix-space-icons-sliding-sync.md
deleted file mode 100644
index 84af2da629..0000000000
--- a/.changeset/fix-space-icons-sliding-sync.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix space icons staying blank on first open with sliding sync.
diff --git a/.changeset/fix-sticker-packs-sliding-sync.md b/.changeset/fix-sticker-packs-sliding-sync.md
deleted file mode 100644
index d0a6612ccb..0000000000
--- a/.changeset/fix-sticker-packs-sliding-sync.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix loading space-hosted sticker and emote packs when using sliding sync.
diff --git a/.changeset/fix-synced-local-tweaks.md b/.changeset/fix-synced-local-tweaks.md
deleted file mode 100644
index 6c396b71f0..0000000000
--- a/.changeset/fix-synced-local-tweaks.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Restore locally imported CSS tweaks when syncing settings between devices.
diff --git a/.changeset/fix-thread-rendering-and-avatars.md b/.changeset/fix-thread-rendering-and-avatars.md
deleted file mode 100644
index 7a37939f15..0000000000
--- a/.changeset/fix-thread-rendering-and-avatars.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix thread messages so mentions use nicknames, inline images keep their sizing, and sender profiles come from the cache instead of rendering blank. Room avatars now load reliably.
diff --git a/.changeset/fix-timeline-auto-follow.md b/.changeset/fix-timeline-auto-follow.md
deleted file mode 100644
index 7269223176..0000000000
--- a/.changeset/fix-timeline-auto-follow.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix timeline auto-scrolling to new messages when pinned to the bottom.
diff --git a/.changeset/fix-timeline-late-growth-scroll.md b/.changeset/fix-timeline-late-growth-scroll.md
deleted file mode 100644
index b8a0042a78..0000000000
--- a/.changeset/fix-timeline-late-growth-scroll.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Keep following the timeline when a message grows after it renders
diff --git a/.changeset/fix-timeline-pagination-hidden-events.md b/.changeset/fix-timeline-pagination-hidden-events.md
deleted file mode 100644
index 0b16a72401..0000000000
--- a/.changeset/fix-timeline-pagination-hidden-events.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fixed timeline pagination becoming stuck when hidden events are disabled.
diff --git a/.changeset/fix-timeline-runaway-pagination.md b/.changeset/fix-timeline-runaway-pagination.md
deleted file mode 100644
index f0b311eca8..0000000000
--- a/.changeset/fix-timeline-runaway-pagination.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Stop the timeline loading a room's whole history on open
diff --git a/.changeset/fix-typing-indicator-scroll-snap.md b/.changeset/fix-typing-indicator-scroll-snap.md
deleted file mode 100644
index 67b3b01c22..0000000000
--- a/.changeset/fix-typing-indicator-scroll-snap.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Prevent typing indicator from obscuring messages and stabilize timeline scroll snapping.
diff --git a/.changeset/fix-various-visual-fixes.md b/.changeset/fix-various-visual-fixes.md
deleted file mode 100644
index 88a49fd85d..0000000000
--- a/.changeset/fix-various-visual-fixes.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Various visual tweaks
diff --git a/.changeset/fix-voice-record-pointercancel.md b/.changeset/fix-voice-record-pointercancel.md
deleted file mode 100644
index dc81f35b62..0000000000
--- a/.changeset/fix-voice-record-pointercancel.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix voice recording continuing indefinitely when the record button is rapidly tapped.
diff --git a/.changeset/fix-voice-recorder-start-races.md b/.changeset/fix-voice-recorder-start-races.md
deleted file mode 100644
index aa14ab28bf..0000000000
--- a/.changeset/fix-voice-recorder-start-races.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Stop the microphone when a voice recording is cancelled, deleted, restarted or unmounted before the permission prompt resolves.
diff --git a/.changeset/fix_overlapping_bookmarks_and_bold_text_shortcut.md b/.changeset/fix_overlapping_bookmarks_and_bold_text_shortcut.md
deleted file mode 100644
index dbb16e16c4..0000000000
--- a/.changeset/fix_overlapping_bookmarks_and_bold_text_shortcut.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Fix overlapping Bookmarks and Bold Text shortcut
diff --git a/.changeset/fix_spoilers_breaking_when_using_a_proxy_tagshorthand.md b/.changeset/fix_spoilers_breaking_when_using_a_proxy_tagshorthand.md
deleted file mode 100644
index 9b090163c5..0000000000
--- a/.changeset/fix_spoilers_breaking_when_using_a_proxy_tagshorthand.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Fix spoilers breaking when using a proxy tag/shorthand
diff --git a/.changeset/gzipped-lottie.md b/.changeset/gzipped-lottie.md
deleted file mode 100644
index 9732f554a3..0000000000
--- a/.changeset/gzipped-lottie.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Add support for displaying gzipped lottie (e.g. tgs) files.
diff --git a/.changeset/media-session-wait.md b/.changeset/media-session-wait.md
deleted file mode 100644
index a504910d4c..0000000000
--- a/.changeset/media-session-wait.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix media failing to load until a view is reopened, and load sticker grids faster.
diff --git a/.changeset/media-slow-network-and-ipc-resilience.md b/.changeset/media-slow-network-and-ipc-resilience.md
deleted file mode 100644
index 6f44a54885..0000000000
--- a/.changeset/media-slow-network-and-ipc-resilience.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Improve encrypted-media loading and error handling on slow connections.
diff --git a/.changeset/migrate-menus-onto-useMenuAnchor.md b/.changeset/migrate-menus-onto-useMenuAnchor.md
deleted file mode 100644
index 4729bd97a6..0000000000
--- a/.changeset/migrate-menus-onto-useMenuAnchor.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Migrate the sidebar, space tab, space folder, and image viewer menus onto useMenuAnchor so they open on long-press as well as right-click.
diff --git a/.changeset/mobile-bottom-sheet-consolidation.md b/.changeset/mobile-bottom-sheet-consolidation.md
deleted file mode 100644
index eb62ac1f14..0000000000
--- a/.changeset/mobile-bottom-sheet-consolidation.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: minor
----
-
-Rework the emoji picker as a bottom sheet that keeps its size when the keyboard opens and can be swiped down to dismiss.
diff --git a/.changeset/notification-sounds-off-media-layer.md b/.changeset/notification-sounds-off-media-layer.md
deleted file mode 100644
index 1b12a3cb6f..0000000000
--- a/.changeset/notification-sounds-off-media-layer.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Notification sounds no longer play as media.
diff --git a/.changeset/oauth-uia-stage-type.md b/.changeset/oauth-uia-stage-type.md
deleted file mode 100644
index d8b8216022..0000000000
--- a/.changeset/oauth-uia-stage-type.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix device verification setup hanging on OAuth homeservers by submitting the `m.oauth` stage type.
diff --git a/.changeset/option-always-inline-editor.md b/.changeset/option-always-inline-editor.md
deleted file mode 100644
index cf0304d86b..0000000000
--- a/.changeset/option-always-inline-editor.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Add option to always keep the last line of the text editor "inline" with the UI buttons.
diff --git a/.changeset/perf-cold-start-bundle.md b/.changeset/perf-cold-start-bundle.md
deleted file mode 100644
index 64b09394a6..0000000000
--- a/.changeset/perf-cold-start-bundle.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Improve app startup speed and eliminate initial launch screen flickering.
diff --git a/.changeset/persona_picker_style_tweaks.md b/.changeset/persona_picker_style_tweaks.md
deleted file mode 100644
index c501086d53..0000000000
--- a/.changeset/persona_picker_style_tweaks.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Persona Picker style tweaks
diff --git a/.changeset/polish-account-settings-mobile.md b/.changeset/polish-account-settings-mobile.md
deleted file mode 100644
index c96e6207a8..0000000000
--- a/.changeset/polish-account-settings-mobile.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Polish the account panel and settings layout.
diff --git a/.changeset/polish-mobile-chat-input.md b/.changeset/polish-mobile-chat-input.md
deleted file mode 100644
index b1fc813fbb..0000000000
--- a/.changeset/polish-mobile-chat-input.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Polish the chat input with adaptive send and recording controls, easier photo attachment, and more reliable uploads.
diff --git a/.changeset/properly_format_pmp_replies.md b/.changeset/properly_format_pmp_replies.md
deleted file mode 100644
index 1ba3ec2390..0000000000
--- a/.changeset/properly_format_pmp_replies.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Properly format PMP replies
diff --git a/.changeset/prune-inactive-room-timelines.md b/.changeset/prune-inactive-room-timelines.md
deleted file mode 100644
index 9de0bb06be..0000000000
--- a/.changeset/prune-inactive-room-timelines.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Reduce memory use by pruning inactive room history while keeping it available for pagination.
diff --git a/.changeset/room-nav-mobile-options-sheet.md b/.changeset/room-nav-mobile-options-sheet.md
deleted file mode 100644
index 3b72fd81dc..0000000000
--- a/.changeset/room-nav-mobile-options-sheet.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Keep the room options sheet open instead of dismissing it as soon as the pointer leaves the room.
diff --git a/.changeset/sticker-send-pack-info.md b/.changeset/sticker-send-pack-info.md
deleted file mode 100644
index 39f5be16a4..0000000000
--- a/.changeset/sticker-send-pack-info.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Fix tapping a sticker silently not sending it.
diff --git a/.changeset/swipe-to-edit.md b/.changeset/swipe-to-edit.md
deleted file mode 100644
index 230cb9d57c..0000000000
--- a/.changeset/swipe-to-edit.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Add swipe-to-edit gestures to messages.
diff --git a/.changeset/tauri.md b/.changeset/tauri.md
deleted file mode 100644
index 23aba9eef7..0000000000
--- a/.changeset/tauri.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-default: minor
----
-
-Add beta builds for desktop and mobile.
-
-- Greatly improved the mobile experience.
-- Added UnifiedPush support and improved notification reliability.
-- Improved the desktop experience with better shortcuts, updates, and window controls.
-- Improved native media handling, sharing, and diagnostics.
diff --git a/.changeset/timeline-performance-improvements.md b/.changeset/timeline-performance-improvements.md
deleted file mode 100644
index b426ddb340..0000000000
--- a/.changeset/timeline-performance-improvements.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-Various performance improvements.
diff --git a/.changeset/wrap_membership_event_reasons_in_parentheses.md b/.changeset/wrap_membership_event_reasons_in_parentheses.md
deleted file mode 100644
index fe410c3074..0000000000
--- a/.changeset/wrap_membership_event_reasons_in_parentheses.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-default: patch
----
-
-# Wrap membership event reasons in parentheses
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4f07503ace..7f602d6d70 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,97 @@
# Sable Client Changelog
+## 1.21.0 (2026-08-01)
+
+### Features
+
+* Add MSC4466 profile sync controls for supported homeservers. by @7w1 in #1117
+* Add toggleable, reorderable composer trigger buttons (emoji, gif, sticker) with a drag-and-drop settings list. by @eleboucher in #1261
+* Add Account-wide persona toggle in Persona Picker by @j0lol in #1264
+* Add persona latching when using shorthands by @j0lol in #1435
+* Add persona name colors by @j0lol in #1462
+* Add Persona picker in Editor by @j0lol in #1171
+* Add PMP shorthand editing in Settings by @j0lol in #1352
+* Attach files and media from a bottom sheet on the message input. by @eleboucher in #1234
+* Clean up the design of Persona settings by @j0lol in #1223
+* Update the device display name after login to reflect the current client and build flavor. by @hazre in #1458
+* Replaced the connection status top bar with a small styled popup and added a variant that shows sliding sync initial progress. by @7w1 in #1200
+* Rework the emoji picker as a bottom sheet that keeps its size when the keyboard opens and can be swiped down to dismiss. by @eleboucher in #1433
+
+* Add beta builds for desktop and mobile. by @eleboucher in #1103
+
+### Fixes
+
+* Add an imperative `confirm()` facade for destructive confirms and route the leave-room confirms onto it. by @eleboucher in #1358
+* Added a modal for viewing room details on smaller screens. by @7w1 in #1173
+* Add account switching and logout actions to the offline screen. by @7w1 in #1115
+* Add loading feedback in Persona settings menu by @j0lol in #1369
+* Add retry button for homeserver discovery during login by @lunar-seal in #1380
+* Cache cross-signing device verification so sliding sync device list updates no longer re-verify every device on every response. by @eleboucher in #1305
+* Cache room metadata for faster sliding sync warm starts. by @7w1 in #1118
+* Fix a crash when opening room cosmetics settings before the room member list has loaded. by @eleboucher in #1298
+* Fix video and audio failing to play on Firefox with "no video with supported format and MIME type found". by @eleboucher in #1334
+* Keep the message input focused after selecting autocomplete suggestions. by @eleboucher in #1103
+* Fix being unable to restore key backup on a verified device by @eleboucher in #1379
+* Made popups on start appear sequentially instead of bombarding all at once. by @7w1 in #1200
+* Fix missing profile pictures for bridged users in timeline when using sliding sync. by @eleboucher in #1112
+* Fix Maps that contain incorrect numbers for lat/lon crashing sable by @nushea in #1248
+* Fix room leaving state not updating immediately in UI. by @7w1 in #1146
+* Free decrypted images and media from memory instead of holding them until reload by @eleboucher in #1381
+* Fix encrypted images and GIFs failing to render, and improve media cache handling. by @eleboucher in #1271
+* Smooth out animation when tapping 'following the conversation'. by @7w1 in #1173
+* Fix OIDC/SSO identity reset not being detected or completed by the client. by @eleboucher in #1270
+* Fix Markdown checklists rendering as raw `` HTML by @eleboucher in #1354
+* Fix context menus, message long-press, bottom sheet swipe-to-dismiss, thread reactions, thread root replies, and the direct conversation invite prompt. by @eleboucher in #1367
+* Fix context menus dismissing themselves instead of opening. by @eleboucher in #1431
+* Fix the scheduled-messages chip not appearing in a room despite having pending scheduled messages. by @jasonlaguidice in #1514
+* Fix the navigation drawer sliding permanently out of frame after the keyboard or a focus change scrolls the panel track. by @eleboucher in #1303
+* Fix keyboard flickering when editing messages. by @eleboucher in #1130
+* Show setting selects as dialogs where appropriate, keep a long-pressed room's menu open, and stop wide setting tiles squeezing their title. by @eleboucher in #1382
+* Improve touch feedback and prevent accidental presses. by @7w1 in #1173
+* Recover faster from network switches and flaky connections. by @eleboucher in #1399
+* Make navigation smoother and room opening faster. by @eleboucher in #1144
+* Changed the web page title to show the mention count instead of the total unread message count. by @eleboucher in #1245
+* Restore polls in room timelines. by @eleboucher in #1425
+* Colour profile sheets with the profile's hero colour again, including the drag handle and navigation bar inset. Restore full scrolling in the pinned-messages sheet. by @eleboucher in #1503
+* Fixed accepted invites reappearing after restart on homeservers that keep sending invite state for joined rooms. by @eleboucher in #1284
+* Fix missing user display names under sliding sync across search, notifications, threads, and replies. by @7w1 in #1170
+* Fix display names in read receipts and event details when using sliding sync with member drawer closed. by @7w1 in #1111
+* Fix sliding sync not subscribing to call updates. by @7w1 in #1173
+* Fix outdated user display names in chats under sliding sync by force-refreshing room member state when the global profile suggests the per-room name is stale. by @eleboucher in #1530
+* Fix subspaces with emote packs listed as separate spaces under sliding sync. by @mortebrume in #1119
+* Fix space icons staying blank on first open with sliding sync. by @eleboucher in #1112
+* Fix loading space-hosted sticker and emote packs when using sliding sync. by @eleboucher in #1112
+* Restore locally imported CSS tweaks when syncing settings between devices. by @eleboucher in #1220
+* Fix thread messages so mentions use nicknames, inline images keep their sizing, and sender profiles come from the cache instead of rendering blank. Room avatars now load reliably. by @eleboucher in #1358
+* Fix timeline auto-scrolling to new messages when pinned to the bottom. by @eleboucher in #1105
+* Keep following the timeline when a message grows after it renders by @eleboucher in #1373
+* Fixed timeline pagination becoming stuck when hidden events are disabled. by @7w1 in #1363
+* Stop the timeline loading a room's whole history on open by @eleboucher in #1373
+* Prevent typing indicator from obscuring messages and stabilize timeline scroll snapping. by @eleboucher in #1113
+* Various visual tweaks by @nushea in #1114
+* Fix voice recording continuing indefinitely when the record button is rapidly tapped. by @eleboucher in #1252
+* Stop the microphone when a voice recording is cancelled, deleted, restarted or unmounted before the permission prompt resolves. by @eleboucher in #1428
+* Fix overlapping Bookmarks and Bold Text shortcut by @cyrneko in #1120
+* Fix spoilers breaking when using a proxy tag/shorthand by @j0lol in #1307
+* Add support for displaying gzipped lottie (e.g. tgs) files. by @mohsenasm in #1104
+* Fix media failing to load until a view is reopened, and load sticker grids faster. by @eleboucher in #1331
+* Improve encrypted-media loading and error handling on slow connections. by @eleboucher in #1296
+* Migrate the sidebar, space tab, space folder, and image viewer menus onto useMenuAnchor so they open on long-press as well as right-click. by @eleboucher in #1358
+* Notification sounds no longer play as media. by @eleboucher in #1353
+* Fix device verification setup hanging on OAuth homeservers by submitting the `m.oauth` stage type. by @eleboucher in #1348
+* Add option to always keep the last line of the text editor "inline" with the UI buttons. by @lunar-seal in #1218
+* Improve app startup speed and eliminate initial launch screen flickering. by @eleboucher in #1127
+* Persona Picker style tweaks by @j0lol in #1368
+* Polish the account panel and settings layout. by @eleboucher in #1131
+* Polish the chat input with adaptive send and recording controls, easier photo attachment, and more reliable uploads. by @eleboucher in #1166
+* Properly format PMP replies by @j0lol in #1479
+* Reduce memory use by pruning inactive room history while keeping it available for pagination. by @eleboucher in #1466
+* Keep the room options sheet open instead of dismissing it as soon as the pointer leaves the room. by @eleboucher in #1336
+* Fix tapping a sticker silently not sending it. by @eleboucher in #1332
+* Add swipe-to-edit gestures to messages. by @7w1 in #1267
+* Various performance improvements. by @7w1 in #1184
+* Wrap membership event reasons in parentheses by @Steffo99 in #1470
+
## 1.20.0 (2026-07-17)
### Security
diff --git a/package.json b/package.json
index 2660b32fbb..86d47c46a6 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sable",
- "version": "1.20.0",
+ "version": "1.21.0",
"description": "An almost stable Matrix client",
"keywords": [],
"license": "AGPL-3.0-only",
@@ -168,4 +168,4 @@
}
},
"packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be"
-}
+}
\ No newline at end of file
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index c8c27dac89..3a17b6f812 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "sable"
-version = "1.20.0"
+version = "1.21.0"
description = "Yet another matrix client but better"
authors = ["Sable Maintainers"]
license = "AGPL-3.0-or-later"
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 7fb809737f..abfda5429a 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -1,7 +1,7 @@
{
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
"productName": "Sable",
- "version": "1.20.0",
+ "version": "1.21.0",
"identifier": "moe.sable.client",
"build": {
"frontendDist": "../dist",
@@ -24,7 +24,10 @@
},
"iOS": {
"template": "src-tauri/ios-project.yml",
- "frameworks": ["AudioToolbox", "Photos"]
+ "frameworks": [
+ "AudioToolbox",
+ "Photos"
+ ]
},
"linux": {
"deb": {
@@ -58,7 +61,9 @@
},
"plugins": {
"updater": {
- "endpoints": ["https://github.com/SableClient/Sable/releases/latest/download/latest.json"],
+ "endpoints": [
+ "https://github.com/SableClient/Sable/releases/latest/download/latest.json"
+ ],
"pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEM0NDc2QkI0NjdCODlEQUUKUldTdW5iaG50R3RIeFBQeGFwcDZNcGhCQ2Y4UFgzVnptRmNRZjRoVDl0MkdOZmREdC9pTUZrZnAK"
},
"typegen": {
@@ -72,11 +77,17 @@
},
"deep-link": {
"desktop": {
- "schemes": ["sable", "moe.sable.app"]
+ "schemes": [
+ "sable",
+ "moe.sable.app"
+ ]
},
"mobile": [
{
- "scheme": ["sable", "moe.sable.app"],
+ "scheme": [
+ "sable",
+ "moe.sable.app"
+ ],
"appLink": false
}
]
@@ -98,4 +109,4 @@
]
}
}
-}
+}
\ No newline at end of file