diff --git a/.changeset/a-bring-in-sable-call.md b/.changeset/a-bring-in-sable-call.md deleted file mode 100644 index e923a2db8..000000000 --- a/.changeset/a-bring-in-sable-call.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Bring in Sable Call, our fork of element call, which introduces camera settings, screenshare settings, echo cancellation, noise suppression, automatic gain control, and avatars in calls. diff --git a/.changeset/add_command_for_msc4268_e2ee_history_sharing.md b/.changeset/add_command_for_msc4268_e2ee_history_sharing.md deleted file mode 100644 index 5ef3a5f50..000000000 --- a/.changeset/add_command_for_msc4268_e2ee_history_sharing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -added a `/sharehistory` command to [share encrypted history with a user](https://github.com/matrix-org/matrix-spec-proposals/blob/rav/proposal/encrypted_history_sharing/proposals/4268-encrypted-history-sharing.md) diff --git a/.changeset/error_page_with_report.md b/.changeset/error_page_with_report.md deleted file mode 100644 index bb4832639..000000000 --- a/.changeset/error_page_with_report.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -added error page making it easier to report errors when they occur in the field diff --git a/.changeset/feat-ctrl-f-search.md b/.changeset/feat-ctrl-f-search.md deleted file mode 100644 index 540ec0633..000000000 --- a/.changeset/feat-ctrl-f-search.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Add Ctrl+F / Cmd+F keyboard shortcut to open Sable search instead of browser find-in-page diff --git a/.changeset/feat-encrypted-push.md b/.changeset/feat-encrypted-push.md deleted file mode 100644 index 4bbbf8f42..000000000 --- a/.changeset/feat-encrypted-push.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Push notifications now use `event_id_only` format — Sygnal never sees message content or sender metadata, and encrypted messages are decrypted client-side when the app tab is open diff --git a/.changeset/feat-large-room-call-button.md b/.changeset/feat-large-room-call-button.md deleted file mode 100644 index e28ce21ec..000000000 --- a/.changeset/feat-large-room-call-button.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Added a toggle to enable/disable showing the call button for large (> 10 member) rooms. diff --git a/.changeset/feat-sentry-integration.md b/.changeset/feat-sentry-integration.md deleted file mode 100644 index fe2f0cabe..000000000 --- a/.changeset/feat-sentry-integration.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Add Sentry integration for error tracking and bug reporting diff --git a/.changeset/feat-testing-setup.md b/.changeset/feat-testing-setup.md deleted file mode 100644 index 51f7ad573..000000000 --- a/.changeset/feat-testing-setup.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Add Vitest testing infrastructure with example tests and contributor documentation diff --git a/.changeset/file_description_editing.md b/.changeset/file_description_editing.md deleted file mode 100644 index aa47ec3ca..000000000 --- a/.changeset/file_description_editing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: minor ---- - -Added the ability to edit the description of a file and streamlined the image and video ui diff --git a/.changeset/fix-account-signout-confirm.md b/.changeset/fix-account-signout-confirm.md deleted file mode 100644 index d0968392c..000000000 --- a/.changeset/fix-account-signout-confirm.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Account switcher: show a confirmation dialog before signing out of an account. diff --git a/.changeset/fix-animated-avatars.md b/.changeset/fix-animated-avatars.md deleted file mode 100644 index 9f3dc6797..000000000 --- a/.changeset/fix-animated-avatars.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix animated avatars not looping. diff --git a/.changeset/fix-autocomplete-selection.md b/.changeset/fix-autocomplete-selection.md deleted file mode 100644 index 5aa27881e..000000000 --- a/.changeset/fix-autocomplete-selection.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Autocomplete: pressing Enter now selects the highlighted item instead of sending the message. The first item is highlighted on open and ArrowUp/Down navigate the list while keeping typing focus in the editor. Focus returns to the message editor after completing a mention or emoji. diff --git a/.changeset/fix-call-camera-default.md b/.changeset/fix-call-camera-default.md deleted file mode 100644 index a1a93ccd6..000000000 --- a/.changeset/fix-call-camera-default.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix camera turning on by default when starting a call from the room header button diff --git a/.changeset/fix-cancel-add-account.md b/.changeset/fix-cancel-add-account.md deleted file mode 100644 index 9d41f9bd6..000000000 --- a/.changeset/fix-cancel-add-account.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Adding account: show a "Cancel" button next to the "Adding account" label so users can abort the flow. diff --git a/.changeset/fix-direct-tab-double-badge.md b/.changeset/fix-direct-tab-double-badge.md deleted file mode 100644 index 6d0506363..000000000 --- a/.changeset/fix-direct-tab-double-badge.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix duplicate unread badges on the /direct/ icon for DM rooms already shown as individual sidebar avatars diff --git a/.changeset/fix-editor-autocapitalize.md b/.changeset/fix-editor-autocapitalize.md deleted file mode 100644 index d5ab17900..000000000 --- a/.changeset/fix-editor-autocapitalize.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Message editor: add `autoCapitalize="sentences"` to respect the OS/keyboard capitalisation setting on mobile. diff --git a/.changeset/fix-emoji-display-name-color.md b/.changeset/fix-emoji-display-name-color.md deleted file mode 100644 index 667b20a23..000000000 --- a/.changeset/fix-emoji-display-name-color.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix emoji color bleeding into adjacent text in read receipt display names on Safari/WebKit diff --git a/.changeset/fix-favicon-mentions-only.md b/.changeset/fix-favicon-mentions-only.md deleted file mode 100644 index 06400e696..000000000 --- a/.changeset/fix-favicon-mentions-only.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Notifications: add "Favicon Dot: Mentions Only" setting — when enabled, the favicon badge only changes for mentions/keywords, not plain unreads. diff --git a/.changeset/fix-matrix-to-custom-base.md b/.changeset/fix-matrix-to-custom-base.md deleted file mode 100644 index 396d2a714..000000000 --- a/.changeset/fix-matrix-to-custom-base.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Support `matrixToBaseUrl` in `config.json` to override the default `matrix.to` link base URL. diff --git a/.changeset/fix-media-volume-persist.md b/.changeset/fix-media-volume-persist.md deleted file mode 100644 index 55e18b931..000000000 --- a/.changeset/fix-media-volume-persist.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Video and audio messages: volume level is now persisted across page loads via `localStorage` and shared between all media players. diff --git a/.changeset/fix-notification-dot-alignment.md b/.changeset/fix-notification-dot-alignment.md deleted file mode 100644 index 3896b3b17..000000000 --- a/.changeset/fix-notification-dot-alignment.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix notification dot badge appearing off-center on sidebar avatars diff --git a/.changeset/fix-reduced-motion-animation.md b/.changeset/fix-reduced-motion-animation.md deleted file mode 100644 index 6b7f1c71b..000000000 --- a/.changeset/fix-reduced-motion-animation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Reduced-motion: add `animation-iteration-count: 1` so spinners stop after one cycle instead of running indefinitely at near-zero speed. diff --git a/.changeset/fix-server-picker-ios-autofill.md b/.changeset/fix-server-picker-ios-autofill.md deleted file mode 100644 index 9f6271430..000000000 --- a/.changeset/fix-server-picker-ios-autofill.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Server picker: prevent iOS from restoring the old server name while the user is actively editing the input. diff --git a/.changeset/fix-theme-color-meta.md b/.changeset/fix-theme-color-meta.md deleted file mode 100644 index a3631591e..000000000 --- a/.changeset/fix-theme-color-meta.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Browser tab/PWA: use the correct light (`#ffffff`) and dark (`#1b1a21`) theme-color values via `media` attribute on the meta tags. diff --git a/.changeset/fix-thread-empty-space.md b/.changeset/fix-thread-empty-space.md deleted file mode 100644 index fffeeaa53..000000000 --- a/.changeset/fix-thread-empty-space.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix excessive whitespace between the thread root message and replies in the thread drawer diff --git a/.changeset/fix-thread-fallback-reply-spec.md b/.changeset/fix-thread-fallback-reply-spec.md deleted file mode 100644 index 6eecf251f..000000000 --- a/.changeset/fix-thread-fallback-reply-spec.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix thread messages to include the required `m.in_reply_to` fallback pointing to the latest thread event, so unthreaded clients can display the reply chain correctly per the Matrix spec. diff --git a/.changeset/fix-timeline-refresh-scroll.md b/.changeset/fix-timeline-refresh-scroll.md deleted file mode 100644 index d042bd01e..000000000 --- a/.changeset/fix-timeline-refresh-scroll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix spurious scroll-to-bottom and MaxListeners warnings on sync gap: stable callback refs and prevEventsLength guard in RoomTimeline, correct CallEmbed .bind(this) listener leak, stable refs in useCallSignaling, and unreadInfoRef to stop per-message listener churn diff --git a/.changeset/fix-url-preview-scroll-arrows.md b/.changeset/fix-url-preview-scroll-arrows.md deleted file mode 100644 index d5e24158c..000000000 --- a/.changeset/fix-url-preview-scroll-arrows.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -Fix URL preview scroll arrows appearing when there is no content to scroll diff --git a/.changeset/fix_voice_message_element_compat.md b/.changeset/fix_voice_message_element_compat.md deleted file mode 100644 index 57270a55a..000000000 --- a/.changeset/fix_voice_message_element_compat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -fix of compatibility of voice messages with element clients and style misshaps diff --git a/CHANGELOG.md b/CHANGELOG.md index c191a9d2a..f24fa4666 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,42 @@ # Sable Client Changelog +## 1.9.0 (2026-03-17) + +### Features + +* Bring in Sable Call, our fork of element call, which introduces camera settings, screenshare settings, echo cancellation, noise suppression, automatic gain control, and avatars in calls. ([#127](https://github.com/SableClient/Sable/pull/127) by @melogale) +* added a `/sharehistory` command to [share encrypted history with a user](https://github.com/matrix-org/matrix-spec-proposals/blob/rav/proposal/encrypted_history_sharing/proposals/4268-encrypted-history-sharing.md) ([#296](https://github.com/SableClient/Sable/pull/296) by @dozro) +* added error page making it easier to report errors when they occur in the field ([#240](https://github.com/SableClient/Sable/pull/240) by @dozro) +* Push notifications now use `event_id_only` format — Sygnal never sees message content or sender metadata, and encrypted messages are decrypted client-side when the app tab is open ([#295](https://github.com/SableClient/Sable/pull/295) by @Just-Insane) +* Added a toggle to enable/disable showing the call button for large (> 10 member) rooms. ([#308](https://github.com/SableClient/Sable/pull/308) by @7w1) +* Add Sentry integration for error tracking and bug reporting ([#280](https://github.com/SableClient/Sable/pull/280) by @Just-Insane) +* Added the ability to edit the description of a file and streamlined the image and video ui ([#282](https://github.com/SableClient/Sable/pull/282) by @nushea) + +### Fixes + +* Add Ctrl+F / Cmd+F keyboard shortcut to open Sable search instead of browser find-in-page ([#304](https://github.com/SableClient/Sable/pull/304) by @Just-Insane) +* Add Vitest testing infrastructure with example tests and contributor documentation ([#297](https://github.com/SableClient/Sable/pull/297) by @Just-Insane) +* Account switcher: show a confirmation dialog before signing out of an account. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Fix animated avatars not looping. ([#307](https://github.com/SableClient/Sable/pull/307) by @7w1) +* Autocomplete: pressing Enter now selects the highlighted item instead of sending the message. The first item is highlighted on open and ArrowUp/Down navigate the list while keeping typing focus in the editor. Focus returns to the message editor after completing a mention or emoji. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Fix camera turning on by default when starting a call from the room header button ([#305](https://github.com/SableClient/Sable/pull/305) by @Just-Insane) +* Adding account: show a "Cancel" button next to the "Adding account" label so users can abort the flow. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Fix duplicate unread badges on the /direct/ icon for DM rooms already shown as individual sidebar avatars ([#289](https://github.com/SableClient/Sable/pull/289) by @Just-Insane) +* Message editor: add `autoCapitalize="sentences"` to respect the OS/keyboard capitalisation setting on mobile. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Fix emoji color bleeding into adjacent text in read receipt display names on Safari/WebKit ([#303](https://github.com/SableClient/Sable/pull/303) by @Just-Insane) +* Notifications: add "Favicon Dot: Mentions Only" setting — when enabled, the favicon badge only changes for mentions/keywords, not plain unreads. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Support `matrixToBaseUrl` in `config.json` to override the default `matrix.to` link base URL. ([#314](https://github.com/SableClient/Sable/pull/314) by @Just-Insane) +* Video and audio messages: volume level is now persisted across page loads via `localStorage` and shared between all media players. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Fix notification dot badge appearing off-center on sidebar avatars ([#306](https://github.com/SableClient/Sable/pull/306) by @Just-Insane) +* Reduced-motion: add `animation-iteration-count: 1` so spinners stop after one cycle instead of running indefinitely at near-zero speed. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Server picker: prevent iOS from restoring the old server name while the user is actively editing the input. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Browser tab/PWA: use the correct light (`#ffffff`) and dark (`#1b1a21`) theme-color values via `media` attribute on the meta tags. ([#310](https://github.com/SableClient/Sable/pull/310) by @Just-Insane) +* Fix excessive whitespace between the thread root message and replies in the thread drawer ([#302](https://github.com/SableClient/Sable/pull/302) by @Just-Insane) +* Fix thread messages to include the required `m.in_reply_to` fallback pointing to the latest thread event, so unthreaded clients can display the reply chain correctly per the Matrix spec. ([#288](https://github.com/SableClient/Sable/pull/288) by @Just-Insane) +* Fix spurious scroll-to-bottom and MaxListeners warnings on sync gap: stable callback refs and prevEventsLength guard in RoomTimeline, correct CallEmbed .bind(this) listener leak, stable refs in useCallSignaling, and unreadInfoRef to stop per-message listener churn ([#279](https://github.com/SableClient/Sable/pull/279) by @Just-Insane) +* Fix URL preview scroll arrows appearing when there is no content to scroll ([#301](https://github.com/SableClient/Sable/pull/301) by @Just-Insane) +* fix of compatibility of voice messages with element clients and style misshaps ([#286](https://github.com/SableClient/Sable/pull/286) by @dozro) + ## 1.8.0 (2026-03-14) ### Features diff --git a/package.json b/package.json index 316639f3a..5f57ae140 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sable", - "version": "1.8.0", + "version": "1.9.0", "description": "An almost stable Matrix client", "type": "module", "packageManager": "pnpm@10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be", @@ -136,4 +136,4 @@ "vitest": "^4.1.0", "wrangler": "^4.70.0" } -} +} \ No newline at end of file