From e6d420f014fd56907adf66e094496a156a90e3c0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 13:33:24 +0000 Subject: [PATCH] chore: prepare release 1.22.0 --- ...ing_away_in_app_notifications_on_mobile.md | 5 -- .changeset/cold-push-observability.md | 5 -- .changeset/configurable-gif-provider.md | 5 -- .../embedded-unifiedpush-distributor.md | 5 -- .changeset/enable-gif-sticker-triggers.md | 5 -- .../fix-android-emote-backspace-keyboard.md | 5 -- .../fix-android-keyboard-viewport-height.md | 5 -- .changeset/fix-android-pill-recompose.md | 5 -- .changeset/fix-avatar-blinking.md | 5 -- .changeset/fix-background-sync-resume.md | 5 -- .changeset/fix-backup-import-partial.md | 5 -- .changeset/fix-crypto-mismatch-reload.md | 5 -- .changeset/fix-device-names-resetting.md | 5 -- .changeset/fix-device-verified-badge.md | 5 -- .changeset/fix-duplicate-crypto-client.md | 5 -- .changeset/fix-emoji-autocomplete-focus.md | 5 -- .changeset/fix-error-toast-styling.md | 5 -- .changeset/fix-flatpak-cef-cache-lock.md | 5 -- .changeset/fix-forum-event-timeline.md | 5 -- .changeset/fix-forum-routing.md | 5 -- ...fix-ios-loopback-media-after-background.md | 5 -- .changeset/fix-mobile-composer-keyboard.md | 5 -- .changeset/fix-mobile-image-tap-keyboard.md | 5 -- .changeset/fix-mobile-sheet-keyboard.md | 5 -- .changeset/fix-notification-plugin-anr.md | 5 -- .changeset/fix-push-anr.md | 5 -- .changeset/fix-recovery-key-cross-signing.md | 5 -- .../fix-recovery-verification-persistence.md | 5 -- .changeset/fix-sent-message-draft.md | 5 -- .changeset/fix-slow-first-encrypted-send.md | 5 -- .../fix-space-preview-back-navigation.md | 5 -- .../fix-sso-redirect-url-on-older-webviews.md | 5 -- .changeset/fix-tauri-avatar-token-rotation.md | 5 -- .changeset/fix-tauri-file-downloads.md | 5 -- .changeset/fix-tauri-media-loading.md | 5 -- .changeset/fix-unread-divider.md | 5 -- .../reimplement_responsive_composer_layout.md | 5 -- .changeset/show-all-timestamps.md | 5 -- .changeset/update_msc4461_support_to_v3.md | 5 -- CHANGELOG.md | 47 +++++++++++++++++++ package.json | 4 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 18 +++++-- 43 files changed, 63 insertions(+), 203 deletions(-) delete mode 100644 .changeset/allow_swiping_away_in_app_notifications_on_mobile.md delete mode 100644 .changeset/cold-push-observability.md delete mode 100644 .changeset/configurable-gif-provider.md delete mode 100644 .changeset/embedded-unifiedpush-distributor.md delete mode 100644 .changeset/enable-gif-sticker-triggers.md delete mode 100644 .changeset/fix-android-emote-backspace-keyboard.md delete mode 100644 .changeset/fix-android-keyboard-viewport-height.md delete mode 100644 .changeset/fix-android-pill-recompose.md delete mode 100644 .changeset/fix-avatar-blinking.md delete mode 100644 .changeset/fix-background-sync-resume.md delete mode 100644 .changeset/fix-backup-import-partial.md delete mode 100644 .changeset/fix-crypto-mismatch-reload.md delete mode 100644 .changeset/fix-device-names-resetting.md delete mode 100644 .changeset/fix-device-verified-badge.md delete mode 100644 .changeset/fix-duplicate-crypto-client.md delete mode 100644 .changeset/fix-emoji-autocomplete-focus.md delete mode 100644 .changeset/fix-error-toast-styling.md delete mode 100644 .changeset/fix-flatpak-cef-cache-lock.md delete mode 100644 .changeset/fix-forum-event-timeline.md delete mode 100644 .changeset/fix-forum-routing.md delete mode 100644 .changeset/fix-ios-loopback-media-after-background.md delete mode 100644 .changeset/fix-mobile-composer-keyboard.md delete mode 100644 .changeset/fix-mobile-image-tap-keyboard.md delete mode 100644 .changeset/fix-mobile-sheet-keyboard.md delete mode 100644 .changeset/fix-notification-plugin-anr.md delete mode 100644 .changeset/fix-push-anr.md delete mode 100644 .changeset/fix-recovery-key-cross-signing.md delete mode 100644 .changeset/fix-recovery-verification-persistence.md delete mode 100644 .changeset/fix-sent-message-draft.md delete mode 100644 .changeset/fix-slow-first-encrypted-send.md delete mode 100644 .changeset/fix-space-preview-back-navigation.md delete mode 100644 .changeset/fix-sso-redirect-url-on-older-webviews.md delete mode 100644 .changeset/fix-tauri-avatar-token-rotation.md delete mode 100644 .changeset/fix-tauri-file-downloads.md delete mode 100644 .changeset/fix-tauri-media-loading.md delete mode 100644 .changeset/fix-unread-divider.md delete mode 100644 .changeset/reimplement_responsive_composer_layout.md delete mode 100644 .changeset/show-all-timestamps.md delete mode 100644 .changeset/update_msc4461_support_to_v3.md diff --git a/.changeset/allow_swiping_away_in_app_notifications_on_mobile.md b/.changeset/allow_swiping_away_in_app_notifications_on_mobile.md deleted file mode 100644 index 2d248a8ac..000000000 --- a/.changeset/allow_swiping_away_in_app_notifications_on_mobile.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Allow swiping away in-app notifications on mobile diff --git a/.changeset/cold-push-observability.md b/.changeset/cold-push-observability.md deleted file mode 100644 index 66ef60261..000000000 --- a/.changeset/cold-push-observability.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Make notifications more reliable when the app is closed on Android: the push is decrypted inside a short-lived foreground service instead of being cut short by battery saving. diff --git a/.changeset/configurable-gif-provider.md b/.changeset/configurable-gif-provider.md deleted file mode 100644 index c05f06433..000000000 --- a/.changeset/configurable-gif-provider.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Add a configurable gif provider (Tenor, Giphy or Klipy) and send gifs through the media proxy diff --git a/.changeset/embedded-unifiedpush-distributor.md b/.changeset/embedded-unifiedpush-distributor.md deleted file mode 100644 index 0ac9f4a97..000000000 --- a/.changeset/embedded-unifiedpush-distributor.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Add a built-in UnifiedPush distributor so Android push works without Google Play Services or a separate distributor app, support MSC4174 so the homeserver can deliver web push directly, and decrypt push previews through the Rust crypto engine. diff --git a/.changeset/enable-gif-sticker-triggers.md b/.changeset/enable-gif-sticker-triggers.md deleted file mode 100644 index d82e1e4d1..000000000 --- a/.changeset/enable-gif-sticker-triggers.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Show the gif and sticker composer buttons by default, keeping only emoji while typing on mobile. diff --git a/.changeset/fix-android-emote-backspace-keyboard.md b/.changeset/fix-android-emote-backspace-keyboard.md deleted file mode 100644 index 95af104ff..000000000 --- a/.changeset/fix-android-emote-backspace-keyboard.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the Android keyboard flickering when backspacing a native emote. diff --git a/.changeset/fix-android-keyboard-viewport-height.md b/.changeset/fix-android-keyboard-viewport-height.md deleted file mode 100644 index a0d71e273..000000000 --- a/.changeset/fix-android-keyboard-viewport-height.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the app not resizing above the on-screen keyboard on Android. diff --git a/.changeset/fix-android-pill-recompose.md b/.changeset/fix-android-pill-recompose.md deleted file mode 100644 index 42a646bd9..000000000 --- a/.changeset/fix-android-pill-recompose.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the composer duplicating a mention or command label when erasing it on Android diff --git a/.changeset/fix-avatar-blinking.md b/.changeset/fix-avatar-blinking.md deleted file mode 100644 index 0940b6ff7..000000000 --- a/.changeset/fix-avatar-blinking.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix avatars flickering and sometimes staying broken: a retry now re-requests the image on the web, loads without dropping the fallback, and stays cached once it succeeds. diff --git a/.changeset/fix-background-sync-resume.md b/.changeset/fix-background-sync-resume.md deleted file mode 100644 index 592de0cd3..000000000 --- a/.changeset/fix-background-sync-resume.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix new messages not arriving on mobile until the app was restarted, after it had been in the background. diff --git a/.changeset/fix-backup-import-partial.md b/.changeset/fix-backup-import-partial.md deleted file mode 100644 index 2e856b53a..000000000 --- a/.changeset/fix-backup-import-partial.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix restoring from key backup failing entirely when a single backed-up key could not be read; the rest of the keys are now restored. diff --git a/.changeset/fix-crypto-mismatch-reload.md b/.changeset/fix-crypto-mismatch-reload.md deleted file mode 100644 index 13db8be7e..000000000 --- a/.changeset/fix-crypto-mismatch-reload.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix devices randomly becoming unverified: clear the account's crypto stores on forced logout, and reload instead of retrying in place after a store mismatch. diff --git a/.changeset/fix-device-names-resetting.md b/.changeset/fix-device-names-resetting.md deleted file mode 100644 index d8d836ba7..000000000 --- a/.changeset/fix-device-names-resetting.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix device names being reset every time the client is opened. Also makes the device rename field set the default name when left empty. diff --git a/.changeset/fix-device-verified-badge.md b/.changeset/fix-device-verified-badge.md deleted file mode 100644 index 3a59f935f..000000000 --- a/.changeset/fix-device-verified-badge.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix devices showing as verified in Sable while other clients still see them as unverified, and let an unverified device start emoji verification instead of only offering the recovery key diff --git a/.changeset/fix-duplicate-crypto-client.md b/.changeset/fix-duplicate-crypto-client.md deleted file mode 100644 index 5e22d025c..000000000 --- a/.changeset/fix-duplicate-crypto-client.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Stop a second Matrix client from opening the same crypto store, which could corrupt device keys and leave a device looking unverified to other clients. diff --git a/.changeset/fix-emoji-autocomplete-focus.md b/.changeset/fix-emoji-autocomplete-focus.md deleted file mode 100644 index 5b90218b8..000000000 --- a/.changeset/fix-emoji-autocomplete-focus.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix a crash when emoji autocomplete results reappear while typing. diff --git a/.changeset/fix-error-toast-styling.md b/.changeset/fix-error-toast-styling.md deleted file mode 100644 index 73eef347a..000000000 --- a/.changeset/fix-error-toast-styling.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix failure toasts showing the green success style with a checkmark: errors such as "Unable to mark this room as read" now use the error colour and a warning icon. diff --git a/.changeset/fix-flatpak-cef-cache-lock.md b/.changeset/fix-flatpak-cef-cache-lock.md deleted file mode 100644 index f37c2dde3..000000000 --- a/.changeset/fix-flatpak-cef-cache-lock.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the Flatpak app failing to launch after a previous run, where a leftover CEF cache lock was mistaken for a running instance. diff --git a/.changeset/fix-forum-event-timeline.md b/.changeset/fix-forum-event-timeline.md deleted file mode 100644 index 454f95396..000000000 --- a/.changeset/fix-forum-event-timeline.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the forum room "Event Timeline" developer entry bouncing straight back to the forum view. diff --git a/.changeset/fix-forum-routing.md b/.changeset/fix-forum-routing.md deleted file mode 100644 index 6584e60e0..000000000 --- a/.changeset/fix-forum-routing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix forum rooms opening in the normal chat view and improve forum post and thread navigation. diff --git a/.changeset/fix-ios-loopback-media-after-background.md b/.changeset/fix-ios-loopback-media-after-background.md deleted file mode 100644 index 15d1e93d9..000000000 --- a/.changeset/fix-ios-loopback-media-after-background.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix media failing to load after the app has been in the background, which previously needed an app restart to recover. diff --git a/.changeset/fix-mobile-composer-keyboard.md b/.changeset/fix-mobile-composer-keyboard.md deleted file mode 100644 index 6b7864174..000000000 --- a/.changeset/fix-mobile-composer-keyboard.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the mobile keyboard staying open over the room list after swiping out of a room. diff --git a/.changeset/fix-mobile-image-tap-keyboard.md b/.changeset/fix-mobile-image-tap-keyboard.md deleted file mode 100644 index 68bbc51fe..000000000 --- a/.changeset/fix-mobile-image-tap-keyboard.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the mobile keyboard reopening when tapping a timeline image. diff --git a/.changeset/fix-mobile-sheet-keyboard.md b/.changeset/fix-mobile-sheet-keyboard.md deleted file mode 100644 index 8de0a4a22..000000000 --- a/.changeset/fix-mobile-sheet-keyboard.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Dismiss the mobile keyboard when opening composer sheets (emoji, attachments, personas) and keep it dismissed after they close. diff --git a/.changeset/fix-notification-plugin-anr.md b/.changeset/fix-notification-plugin-anr.md deleted file mode 100644 index caec1e73b..000000000 --- a/.changeset/fix-notification-plugin-anr.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix Android freezing with "Sable isn't responding" when notification setup overlapped a page load diff --git a/.changeset/fix-push-anr.md b/.changeset/fix-push-anr.md deleted file mode 100644 index c73d34892..000000000 --- a/.changeset/fix-push-anr.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix "Sable isn't responding" appearing repeatedly on Android when notifications arrived while the app was in the background. diff --git a/.changeset/fix-recovery-key-cross-signing.md b/.changeset/fix-recovery-key-cross-signing.md deleted file mode 100644 index 33b04faa7..000000000 --- a/.changeset/fix-recovery-key-cross-signing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Restore cross-signing device trust when unlocking encryption backup with a recovery key. diff --git a/.changeset/fix-recovery-verification-persistence.md b/.changeset/fix-recovery-verification-persistence.md deleted file mode 100644 index 1f1cec7e7..000000000 --- a/.changeset/fix-recovery-verification-persistence.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix recovery-key verified devices becoming unverified after an app refresh. diff --git a/.changeset/fix-sent-message-draft.md b/.changeset/fix-sent-message-draft.md deleted file mode 100644 index 8e800e720..000000000 --- a/.changeset/fix-sent-message-draft.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix a sent message coming back in the composer, and stop undo restoring cleared content. diff --git a/.changeset/fix-slow-first-encrypted-send.md b/.changeset/fix-slow-first-encrypted-send.md deleted file mode 100644 index 4ff51140c..000000000 --- a/.changeset/fix-slow-first-encrypted-send.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix sending the first message after startup taking up to 40 seconds in encrypted rooms: outgoing crypto requests and key backup checks now coalesce instead of queueing one full run per caller, and repeated undecryptable events no longer re-request the key backup version from the server. diff --git a/.changeset/fix-space-preview-back-navigation.md b/.changeset/fix-space-preview-back-navigation.md deleted file mode 100644 index 2b915bf3d..000000000 --- a/.changeset/fix-space-preview-back-navigation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix being unable to back out of a space preview opened by address, and give Tauri webview back/swipe somewhere to land on deep-linked launches. diff --git a/.changeset/fix-sso-redirect-url-on-older-webviews.md b/.changeset/fix-sso-redirect-url-on-older-webviews.md deleted file mode 100644 index 6f0f0f026..000000000 --- a/.changeset/fix-sso-redirect-url-on-older-webviews.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix the login page crashing with "Invalid URL" on Android WebView below 130 diff --git a/.changeset/fix-tauri-avatar-token-rotation.md b/.changeset/fix-tauri-avatar-token-rotation.md deleted file mode 100644 index 736513782..000000000 --- a/.changeset/fix-tauri-avatar-token-rotation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix room and user avatars disappearing on desktop after an access-token rotation. diff --git a/.changeset/fix-tauri-file-downloads.md b/.changeset/fix-tauri-file-downloads.md deleted file mode 100644 index 437e85b90..000000000 --- a/.changeset/fix-tauri-file-downloads.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix downloading files other than images in the desktop and mobile apps. diff --git a/.changeset/fix-tauri-media-loading.md b/.changeset/fix-tauri-media-loading.md deleted file mode 100644 index e13bfaa05..000000000 --- a/.changeset/fix-tauri-media-loading.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix avatars, images and videos disappearing or reloading on desktop and mobile. diff --git a/.changeset/fix-unread-divider.md b/.changeset/fix-unread-divider.md deleted file mode 100644 index 7997a2317..000000000 --- a/.changeset/fix-unread-divider.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Keep the new messages divider visible when opening a room with unread messages. diff --git a/.changeset/reimplement_responsive_composer_layout.md b/.changeset/reimplement_responsive_composer_layout.md deleted file mode 100644 index 096a84ec8..000000000 --- a/.changeset/reimplement_responsive_composer_layout.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Reimplement responsive composer layout diff --git a/.changeset/show-all-timestamps.md b/.changeset/show-all-timestamps.md deleted file mode 100644 index 7fb415be9..000000000 --- a/.changeset/show-all-timestamps.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Add a setting to show all timestamps, including on grouped messages from the same sender diff --git a/.changeset/update_msc4461_support_to_v3.md b/.changeset/update_msc4461_support_to_v3.md deleted file mode 100644 index 37b5ba3f3..000000000 --- a/.changeset/update_msc4461_support_to_v3.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Update MSC4461 (Persona) support to v3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 32effa06e..c684db50c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,52 @@ # Sable Client Changelog +## 1.22.0 (2026-09-02) + +### Features + +* Allow swiping away in-app notifications on mobile by @blueberrymuffin3 in #1863 +* Add a configurable gif provider (Tenor, Giphy or Klipy) and send gifs through the media proxy by @eleboucher in #1918 +* Add a built-in UnifiedPush distributor so Android push works without Google Play Services or a separate distributor app, support MSC4174 so the homeserver can deliver web push directly, and decrypt push previews through the Rust crypto engine. by @eleboucher in #1607 +* Show the gif and sticker composer buttons by default, keeping only emoji while typing on mobile. by @eleboucher in #1862 +* Add a setting to show all timestamps, including on grouped messages from the same sender by @cwyptt in #1942 +* Update MSC4461 (Persona) support to v3 by @blueberrymuffin3 in #1923 + +### Fixes + +* Make notifications more reliable when the app is closed on Android: the push is decrypted inside a short-lived foreground service instead of being cut short by battery saving. by @eleboucher in #2000 +* Fix the Android keyboard flickering when backspacing a native emote. by @eleboucher in #1871 +* Fix the app not resizing above the on-screen keyboard on Android. by @eleboucher in #1921 +* Fix the composer duplicating a mention or command label when erasing it on Android by @eleboucher in #2032 +* Fix avatars flickering and sometimes staying broken: a retry now re-requests the image on the web, loads without dropping the fallback, and stays cached once it succeeds. by @eleboucher in #1910 +* Fix new messages not arriving on mobile until the app was restarted, after it had been in the background. by @eleboucher in #1999 +* Fix restoring from key backup failing entirely when a single backed-up key could not be read; the rest of the keys are now restored. by @eleboucher in #2001 +* Fix devices randomly becoming unverified: clear the account's crypto stores on forced logout, and reload instead of retrying in place after a store mismatch. by @eleboucher in #1868 +* Fix device names being reset every time the client is opened. Also makes the device rename field set the default name when left empty. by @RoootTheFox in #1939 +* Fix devices showing as verified in Sable while other clients still see them as unverified, and let an unverified device start emoji verification instead of only offering the recovery key by @eleboucher in #2013 +* Stop a second Matrix client from opening the same crypto store, which could corrupt device keys and leave a device looking unverified to other clients. by @eleboucher in #1945 +* Fix a crash when emoji autocomplete results reappear while typing. by @eleboucher in #1886 +* Fix failure toasts showing the green success style with a checkmark: errors such as "Unable to mark this room as read" now use the error colour and a warning icon. by @eleboucher in #2005 +* Fix the Flatpak app failing to launch after a previous run, where a leftover CEF cache lock was mistaken for a running instance. by @eleboucher in #1989 +* Fix the forum room "Event Timeline" developer entry bouncing straight back to the forum view. by @eleboucher in #1857 +* Fix forum rooms opening in the normal chat view and improve forum post and thread navigation. by @7w1 in #1839 +* Fix media failing to load after the app has been in the background, which previously needed an app restart to recover. by @eleboucher in #1914 +* Fix the mobile keyboard staying open over the room list after swiping out of a room. by @eleboucher in #1862 +* Fix the mobile keyboard reopening when tapping a timeline image. by @eleboucher in #1871 +* Dismiss the mobile keyboard when opening composer sheets (emoji, attachments, personas) and keep it dismissed after they close. by @eleboucher in #1866 +* Fix Android freezing with "Sable isn't responding" when notification setup overlapped a page load by @eleboucher in #2014 +* Fix "Sable isn't responding" appearing repeatedly on Android when notifications arrived while the app was in the background. by @eleboucher in #2001 +* Restore cross-signing device trust when unlocking encryption backup with a recovery key. by @eleboucher in #1911 +* Fix recovery-key verified devices becoming unverified after an app refresh. by @eleboucher in #1902 +* Fix a sent message coming back in the composer, and stop undo restoring cleared content. by @eleboucher in #1862 +* Fix sending the first message after startup taking up to 40 seconds in encrypted rooms: outgoing crypto requests and key backup checks now coalesce instead of queueing one full run per caller, and repeated undecryptable events no longer re-request the key backup version from the server. by @eleboucher in #1998 +* Fix being unable to back out of a space preview opened by address, and give Tauri webview back/swipe somewhere to land on deep-linked launches. by @eleboucher in #1868 +* Fix the login page crashing with "Invalid URL" on Android WebView below 130 by @eleboucher in #1924 +* Fix room and user avatars disappearing on desktop after an access-token rotation. by @eleboucher in #1864 +* Fix downloading files other than images in the desktop and mobile apps. by @eleboucher in #1911 +* Fix avatars, images and videos disappearing or reloading on desktop and mobile. by @eleboucher in #1862 +* Keep the new messages divider visible when opening a room with unread messages. by @eleboucher in #1906 +* Reimplement responsive composer layout by @Septicity in #1865 + ## 1.21.0 (2026-08-17) ### Features diff --git a/package.json b/package.json index d80b87563..cda87a91b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sable", - "version": "1.21.0", + "version": "1.22.0", "description": "An almost stable Matrix client", "keywords": [], "license": "AGPL-3.0-only", @@ -180,4 +180,4 @@ } }, "packageManager": "pnpm@11.18.0+sha512.33d83c77da82f49fba836925c6f1b841181ec3132b670639bd012f7075f5c7cf634c5f870147c19aae7478fac01df09d8892e880454896edd23ee9b33757563c" -} +} \ No newline at end of file diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index f0034c319..618698057 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sable" -version = "1.21.0" +version = "1.22.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 5e2427503..91f9d4f23 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.21.0", + "version": "1.22.0", "identifier": "moe.sable.client", "build": { "frontendDist": "../dist", @@ -64,7 +64,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": { @@ -78,11 +80,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 } ] @@ -104,4 +112,4 @@ ] } } -} +} \ No newline at end of file