From ce4847aa64407f98ee0df0e191420e864ad09f05 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 9 Sep 2026 19:23:04 +0000 Subject: [PATCH] chore: prepare release 1.22.0 --- .changeset/ai_agents.md | 11 ---- ...ing_away_in_app_notifications_on_mobile.md | 5 -- .changeset/cold-push-observability.md | 5 -- .changeset/configurable-gif-provider.md | 5 -- .../customizable-toggle-window-shortcut.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-built-in-push.md | 5 -- .changeset/fix-call-sticky-memberships.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-notification-room-titles.md | 5 -- .changeset/fix-ntfy-notification-delivery.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-session-refresh-logout.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 | 57 +++++++++++++++++++ package.json | 4 +- src-tauri/Cargo.toml | 2 +- src-tauri/tauri.conf.json | 18 ++++-- 50 files changed, 73 insertions(+), 244 deletions(-) delete mode 100644 .changeset/ai_agents.md 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/customizable-toggle-window-shortcut.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-built-in-push.md delete mode 100644 .changeset/fix-call-sticky-memberships.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-notification-room-titles.md delete mode 100644 .changeset/fix-ntfy-notification-delivery.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-session-refresh-logout.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/ai_agents.md b/.changeset/ai_agents.md deleted file mode 100644 index e6a2489767..0000000000 --- a/.changeset/ai_agents.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -default: docs ---- - -# Update to disclosure of AI generated code - -Added `AGENTS.md` to inform autonomous AI agents about restrictions in this -repository. - -As a reminder, the guidelines can be found in -[our Contribution Guidelines](https://github.com/SableClient/Sable/blob/dev/CONTRIBUTING.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 2d248a8ac8..0000000000 --- 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 66ef60261b..0000000000 --- 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 c05f064331..0000000000 --- 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/customizable-toggle-window-shortcut.md b/.changeset/customizable-toggle-window-shortcut.md deleted file mode 100644 index 9dbacc875c..0000000000 --- a/.changeset/customizable-toggle-window-shortcut.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Add a customizable Global shortcut to show or hide the app window diff --git a/.changeset/embedded-unifiedpush-distributor.md b/.changeset/embedded-unifiedpush-distributor.md deleted file mode 100644 index 0ac9f4a975..0000000000 --- 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 d82e1e4d13..0000000000 --- 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 95af104ff2..0000000000 --- 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 a0d71e2731..0000000000 --- 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 42a646bd9e..0000000000 --- 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 0940b6ff77..0000000000 --- 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 592de0cd32..0000000000 --- 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 2e856b53ac..0000000000 --- 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-built-in-push.md b/.changeset/fix-built-in-push.md deleted file mode 100644 index ac48c536a0..0000000000 --- a/.changeset/fix-built-in-push.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix built-in push activation on Android and preserve custom push servers after restarting. diff --git a/.changeset/fix-call-sticky-memberships.md b/.changeset/fix-call-sticky-memberships.md deleted file mode 100644 index c9c72c53fb..0000000000 --- a/.changeset/fix-call-sticky-memberships.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix calls disconnecting on servers that use sticky memberships: the call now has permission to publish them, and sticky memberships also reach clients that sync with sliding sync. diff --git a/.changeset/fix-crypto-mismatch-reload.md b/.changeset/fix-crypto-mismatch-reload.md deleted file mode 100644 index 13db8be7ed..0000000000 --- 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 d8d836ba7a..0000000000 --- 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 3a59f935fb..0000000000 --- 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 5e22d025ce..0000000000 --- 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 5b90218b85..0000000000 --- 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 73eef347ad..0000000000 --- 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 f37c2dde3e..0000000000 --- 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 454f953969..0000000000 --- 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 6584e60e09..0000000000 --- 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 15d1e93d9f..0000000000 --- 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 6b78641746..0000000000 --- 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 68bbc51fe0..0000000000 --- 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 8de0a4a224..0000000000 --- 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 caec1e73b3..0000000000 --- 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-notification-room-titles.md b/.changeset/fix-notification-room-titles.md deleted file mode 100644 index a464677358..0000000000 --- a/.changeset/fix-notification-room-titles.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Preserve room names and sender details in push notifications. diff --git a/.changeset/fix-ntfy-notification-delivery.md b/.changeset/fix-ntfy-notification-delivery.md deleted file mode 100644 index b214108f31..0000000000 --- a/.changeset/fix-ntfy-notification-delivery.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix push notification delivery across providers on Android and iOS. diff --git a/.changeset/fix-push-anr.md b/.changeset/fix-push-anr.md deleted file mode 100644 index c73d34892e..0000000000 --- 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 33b04faa77..0000000000 --- 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 1f1cec7e77..0000000000 --- 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 8e800e720d..0000000000 --- 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-session-refresh-logout.md b/.changeset/fix-session-refresh-logout.md deleted file mode 100644 index 8b7ee0add9..0000000000 --- a/.changeset/fix-session-refresh-logout.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix unexpected sign-outs and preserve saved accounts when signing in again. diff --git a/.changeset/fix-slow-first-encrypted-send.md b/.changeset/fix-slow-first-encrypted-send.md deleted file mode 100644 index 4ff51140c2..0000000000 --- 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 2b915bf3df..0000000000 --- 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 6f0f0f0266..0000000000 --- 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 736513782f..0000000000 --- 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 437e85b907..0000000000 --- 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 e13bfaa058..0000000000 --- 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 7997a2317a..0000000000 --- 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 096a84ec81..0000000000 --- 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 7fb415be95..0000000000 --- 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 37b5ba3f39..0000000000 --- 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 32effa06e1..f486d7c2b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,62 @@ # Sable Client Changelog +## 1.22.0 (2026-09-09) + +### 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 customizable Global shortcut to show or hide the app window by @cwyptt in #2040 +* 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 built-in push activation on Android and preserve custom push servers after restarting. by @eleboucher in #2055 +* Fix calls disconnecting on servers that use sticky memberships: the call now has permission to publish them, and sticky memberships also reach clients that sync with sliding sync. by @eleboucher in #2066 +* 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 +* Preserve room names and sender details in push notifications. by @eleboucher in #2056 +* Fix push notification delivery across providers on Android and iOS. by @eleboucher in #2051 +* 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 unexpected sign-outs and preserve saved accounts when signing in again. by @eleboucher in #2053 +* 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 + +### Documentation + +* Update to disclosure of AI generated code by @dozro in #885 + ## 1.21.0 (2026-08-17) ### Features diff --git a/package.json b/package.json index d80b875632..cda87a91b2 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 e092c92b1e..0d574155a8 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 5e24275035..91f9d4f23e 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