Releases: SableClient/Sable
Releases · SableClient/Sable
1.9.2 (2026-03-17)
Fixes
- Fix opacity rendering in name colors. (#325 by @7w1)
- Fix sending scheduled file attachments. (#325 by @7w1)
- Fix replies rendering new lines when messages have lists. (#325 by @7w1)
- Fix threads rendering fallback replies. (#325 by @7w1)
- Remove pip video setting now that we have sable call (#324 by @beef331)
1.9.1 (2026-03-17)
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 by @melogale)
- added a
/sharehistorycommand to share encrypted history with a user (#296 by @dozro) - added error page making it easier to report errors when they occur in the field (#240 by @dozro)
- Push notifications now use
event_id_onlyformat — Sygnal never sees message content or sender metadata, and encrypted messages are decrypted client-side when the app tab is open (#295 by @Just-Insane) - Added a toggle to enable/disable showing the call button for large (> 10 member) rooms. (#308 by @7w1)
- Add Sentry integration for error tracking and bug reporting (#280 by @Just-Insane)
- Added the ability to edit the description of a file and streamlined the image and video ui (#282 by @nushea)
Fixes
- Add Ctrl+F / Cmd+F keyboard shortcut to open Sable search instead of browser find-in-page (#304 by @Just-Insane)
- Add Vitest testing infrastructure with example tests and contributor documentation (#297 by @Just-Insane)
- Account switcher: show a confirmation dialog before signing out of an account. (#310 by @Just-Insane)
- Fix animated avatars not looping. (#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 by @Just-Insane)
- Fix camera turning on by default when starting a call from the room header button (#305 by @Just-Insane)
- Adding account: show a "Cancel" button next to the "Adding account" label so users can abort the flow. (#310 by @Just-Insane)
- Fix duplicate unread badges on the /direct/ icon for DM rooms already shown as individual sidebar avatars (#289 by @Just-Insane)
- Message editor: add
autoCapitalize="sentences"to respect the OS/keyboard capitalisation setting on mobile. (#310 by @Just-Insane) - Fix emoji color bleeding into adjacent text in read receipt display names on Safari/WebKit (#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 by @Just-Insane)
- Support
matrixToBaseUrlinconfig.jsonto override the defaultmatrix.tolink base URL. (#314 by @Just-Insane) - Video and audio messages: volume level is now persisted across page loads via
localStorageand shared between all media players. (#310 by @Just-Insane) - Fix notification dot badge appearing off-center on sidebar avatars (#306 by @Just-Insane)
- Reduced-motion: add
animation-iteration-count: 1so spinners stop after one cycle instead of running indefinitely at near-zero speed. (#310 by @Just-Insane) - Server picker: prevent iOS from restoring the old server name while the user is actively editing the input. (#310 by @Just-Insane)
- Browser tab/PWA: use the correct light (
#ffffff) and dark (#1b1a21) theme-color values viamediaattribute on the meta tags. (#310 by @Just-Insane) - Fix excessive whitespace between the thread root message and replies in the thread drawer (#302 by @Just-Insane)
- Fix thread messages to include the required
m.in_reply_tofallback pointing to the latest thread event, so unthreaded clients can display the reply chain correctly per the Matrix spec. (#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 by @Just-Insane)
- Fix URL preview scroll arrows appearing when there is no content to scroll (#301 by @Just-Insane)
- fix of compatibility of voice messages with element clients and style misshaps (#286 by @dozro)
1.8.0 (2026-03-14)
Features
- add voice message composing (#176 by @dozro)
- added error page making it easier to report errors when they occur in the field (#240 by @dozro)
- Show group DM participants with triangle avatar layout. Group DMs now display up to 3 member avatars in a triangle formation (most recent sender on top), with bot filtering and DM count badge support. (#212 by @Just-Insane)
- Add internal debug logging system with viewer UI, realtime updates, and instrumentation across sync, timeline, and messaging (#245 by @Just-Insane)
- Add thread support with side panel, browser, unread badges, and cross-device sync (#123 by @Just-Insane)
- Optimize sliding sync with progressive loading and improved timeline management (#232 by @Just-Insane)
Fixes
- added settings toggle in (General>Messages) to enable showing a tombstone for deleted messages without having to set all hidden events to visible (#238 by @dozro)
- added for compatibility sake the forward meta data as defined in MSC2723 (#257 by @dozro)
- disabling quick add for encrypted sticker, this mitigates the issue of being unable to use quick to add encrypted sticker (#236 by @dozro)
- Fix badge positioning and alignment across all sidebar components (#231 by @Just-Insane)
- Fix bubble layout messages overflowing off the screen with embeds/images. (#237 by @7w1)
- Fixed unhandled promise rejections in media blob cache and added automatic retry for chunk loading failures after deployments. (#255 by @Just-Insane)
- Fix notification handling with null safety and improved logic (#233 by @Just-Insane)
- Fix cosmetics tab crashing if global/room/space pronouns weren't already set. (#229 by @7w1)
- Fix reaction clicks, zoom persistence, and empty message rendering (#234 by @Just-Insane)
- Fix call preferences not persisting. (#273 by @7w1)
- Add width limit to notification banners (#253 by @Vespe-r)
- removed forwarding of beeper's per message profile, as this might confuse clients (#256 by @dozro)
- tweak emoji board for speed optimization (opt-in because of computational load increase on homeserver for thubmnail generation) (#262 by @dozro)
- Handles a middle-click on the url preview card thumbnail image by downloading the full image from the homeserver proxy through a fetch request and opening received blob in the new tab (#264 by @piko-piko)
1.7.0 (2026-03-12)
Features
- Added ability to start calls in DMs and rooms. DM calls will trigger a notification popup & ringtone (for other sable users/compatible clients, probably). (#165 by @7w1)
- Merge in upstream call things and remove the duplicate new voice room button. (#184 by @7w1)
- Add button to save a sticker you see in the message timeline to your personal account sticker pack. (#107 by @dozro)
- Added config option
hideUsernamePasswordFieldsfor hosts to hide username and password fields from login page. (#146 by @7w1) - Add silent replies when clicking the bell icon during composing a reply. (#153 by @dozro)
- Device names are now dynamic, showing your browser and OS (e.g., "Sable on Firefox for Windows") instead of just "Sable Web". (#187 by @hazre)
- Implement an interface to allow room/space profile customization without needing to call the relating commands directly. (#129 by @Rosy-iso)
- Added hover menu inside Message Version Pop-out. (#170 by @nushea)
Fixes
- Added a few accessibility tags to the elements involved in message composing. (#163 by @dozro)
- Clarify notification settings and functionality once and for all. (#148 by @7w1)
- Fix DM notifications, encrypted event notifications, and enable reaction notifications (#178 by @Just-Insane)
- Fix images without an empty body display as "Broken Message" (#143 by @7w1)
- Prevent overly wide emotes from taking up the entire screen width. (#164 by @Sugaryyyy)
- Change to more standard compliant msgtype
m.emotefor/headpatevent. (#145 by @dozro) - fix message forwarding metadata leak when forwarding from private rooms see issue 190 (#191 by @dozro)
- "Underline Links" setting no longer affects the entire app, only links in chat, bios, and room descriptions. (#157 by @hazre)
1.6.0 (2026-03-10)
Features
- GitHub repo moved to SableClient/Sable go star it!
- Added a pop-up for showing a message's edit history
- In-app bug report and feature request modal.
- Mentions now receive a full-width background highlight in the room timeline.
- Adds a Presence Status toggle under Settings → General.
- Rewrites the sliding sync implementation to match the Element Web approach (MSC4186).
Fixes
- Enhance UnsupportedContent and BrokenContent to display message body.
- Notification settings page improvements.
- In-app notification banner placement fixes.
- Notification delivery bug fixes.
- Prevent multiple forwards of a message if sending is slow.
1.5.3 (2026-03-08)
Fixes
-
Fix scroll clamping to bottom while scrolling up.
-
Fix message links sometimes scrolling to bottom of timeline instead of message + maybe other scroll bugs.
-
Merge upstream call fixes
-
Fix crash when invalid location events are sent.
-
Add rendering of per-message-profiles.
-
custom emojis are now also visible in forwards, instead of being reduced to it's shortcode
-
fix: default badge unread counts to off
1.5.2 (2026-03-08)
Fixes
- Add
/hug,/cuddle,/wave,/headpat, and/pokeslash commands. - Swap Caddy port to 8080 + fixes for MDAD setups.
- Adjust media sizing and URL preview layout
- Fix picture in picture setting not effecting element-call
- Fixed an issue where the app would fail to load after completing SSO login (e.g., logging in with matrix.org). Users are now correctly redirected to the app after SSO authentication completes.
1.5.1 (2026-03-08)
Fixes
- Fix recent emojis ignoring letter threshold.
- Disable in-app banners on desktop.
1.5.0 (2026-03-08)
Features
- Merge Voice Call updates from upstream.
- Allow for replying to state events.
- Add message forwarding with metadata
- Add setting to enable picture-in-picture in element-call
- Add support for audio and video in URL previews if homeserver provides it.
- Added a new setting "Emoji Selector Character Threshold" to set the number of characters to type before the suggestions pop up.
- Add keyboard navigation shortcuts for unread rooms (Alt+N, Alt+Shift+Up/Down), ARIA form label associations for screen reader accessibility, and a keyboard shortcuts settings page.
- Added setting to always underline links.
- Added settings for disabling autoplay of gifs (& banners), stickers, and emojis.
- Added reduced motion setting. Let us know if any elements were missed!
- Replaced the monochrome mode with a saturation slider for more control.
- Added settings to Account that let you set if you are a cat or have cats, or not display other peoples cat status.
Fixes
- change indexdb warning phrasing to include low disk space as possible reason
- Fix Element Call video/audio calls in DM and non-voice rooms: after joining through the lobby, the in-call grid now displays correctly instead of showing only the control bar.
- Disable autocorrect and spellcheck on the login page.
- Fix Tuwunel quotes often breaking timezones
- Improved the UI of file descriptions
- Timeline message avatars now use the room-specific avatar and display name instead of the user's global profile, when set via
/myroomavataror/myroomnick. - In-app notification banners now appear for DMs by default; desktop banner setting defaults to off; fixed space room navigation from banner tap.
- Executing /myroomnick or /myroomavatar without a new nickname/avatar now removes the nickname/avatar.
- Split typing and read status settings, allowing toggling off one and not the other.