Releases: SableClient/Sable
Releases · SableClient/Sable
Release list
1.20.0 (2026-07-17)
Security
- This release includes an important security fix. Please update as soon as possible. Sensitive Matrix account data is not exposed by this issue. (#1107 by @7w1)
Features
- Add Native OIDC (OAuth 2.0) login so you can sign in to and register on homeservers that use delegated authentication, such as continuwuity and Synapse with the Matrix Authentication Service. Sessions stay signed in through automatic token refresh, and signing out revokes the tokens on the server. (#1071 by @eleboucher)
- Show the unread mention count in the page title. (#1093 by @eleboucher)
Improve sliding sync. (#1069 by @7w1, @eleboucher)
- Make sliding sync easier to enable during login or loading and from settings.
- Move the sliding sync toggle from Experimental to the bottom of General settings.
- Start faster and restore rooms and spaces sooner.
- Reduce unnecessary background room data.
- Improve room details, memberships, presence, and unread indicators.
- Make startup loading smoother for both sliding and classic sync.
- It's fast now :3
Fixes
- Use attachment filenames instead of captions when downloading files and harden unsafe download names. (#1086 by @7w1)
- Allow users to send messages in encrypted rooms when they have permission to send
m.room.encryptedevents. (#1098 by @7w1) - Allow users without a locally configured LiveKit focus to join calls started by others. (#1099 by @7w1)
- Fix the new messages divider not appearing when the read receipt points at an event hidden from the timeline (reaction, edit, thread reply). (#1101 by @eleboucher)
- Fix the new messages divider staying at the room-open position instead of re-anchoring at the last read when the window loses focus. (#1095 by @eleboucher)
- Fix redacted messages rendering as "Unsupported message (no body)" instead of "Message deleted" with sliding sync. (#1089 by @eleboucher)
- Display redacted state events (membership, room name/topic/avatar, pins and other state events) as a "deleted" tombstone in the timeline instead of rendering them with empty/redacted content or hiding them, so the reply-to of a redaction highlights the redacted event. (#1090 by @eleboucher)
- Fix joining spaces with sliding sync enabled. (#1085 by @eleboucher)
- Display the explicit room name for non-direct channels with two members. (#1098 by @7w1)
- Fix resetting animal identity (#1070 by @nushea)
- Fix the sliding-sync presence fallback consuming one-time-key updates and to-device messages without processing them. (#1078 by @7w1)
- Fix clickable handles (#1068 by @nushea)
- Hide the "Register" link on the login page when the homeserver has registration disabled and offers no SSO to register through, so you are no longer sent to a dead-end registration page. (#1073 by @eleboucher)
- Add uploaded Sable CSS theme loading, automatic catalog updates, and a cleaner theme browser with full CSS viewing. (#1087 by @7w1)
- Show room members in developer tools. (#1088 by @7w1)
1.19.4 (2026-07-12)
Fixes
- Fix some image embeds not creating embeds. (#1062 by @7w1)
- Allow rooms with empty local parts to be viewed. (#1062 by @7w1)
- Fix the account button showing you 0 sessions active and the verify this device showing when you have zero devices to verify (#1064 by @nushea)
- Various performance optimizations (#1062 by @7w1)
- Fixed the entire timeline being rerendered every time you scroll :P (#1055 by @7w1)
Notes
- Added a new workflow that automatically previews dev on dev.sable.moe (#1059 by @7w1)
1.19.3 (2026-07-09)
1.19.2 (2026-07-09)
Fixes
- Fix right click menu not closing when viewing reactions. (#1045 by @7w1)
- Send gifs with proper file extensions in body. (#1045 by @7w1)
- Fix crash in autocomplete menu when editing messages. (#1045 by @7w1)
- Ensure call buttons appear/disappear when relevant state events occur. (#1045 by @7w1)
- Fix format for recent emojis and related crash. (#1045 by @7w1)
- Fix sliding sync debug saying sliding when it is in fact not sliding. (#1045 by @7w1)
- Fix very small little visual issues you probably didnt even notice 🙏 (#1038 by @nushea)
1.19.1 (2026-07-09)
1.19.0 (2026-07-09)
Features
- Added a GIF search functionality (#970 by @7w1, @nikiwastaken)
- Change unverified device flow. (#1017 by @nikiwastaken, @nushea)
- Change animal identity to allow arbitrary animals (#984 by @nushea)
- Add a new Mobile Context (#946 by @7w1, @nushea)
- Add bookmark functionality using account data (#1000 by @nikiwastaken, @nushea)
- Add Copy Message button to copy unformatted version. (#1001 by @nushea)
- Change profile handle part to a button that copies it (#981 by @nushea)
- Add reactions to arbitrary events (#946 by @7w1, @nushea)
- Added a gallery support as per msc4274 (#1019 by @nikiwastaken, @nushea)
- Add a context menu for copying and downloading images. (#994 by @nikiwastaken, @nushea)
- Add search message keybind and combine sidebar items. (#943 by @nushea)
- Add option for showing icons only when available and changed default to it (#978 by @nushea)
- Add CTRL+E shortcut to editor to bring sticker menu up (#982 by @nushea)
- Redesign the user menu tab (#990 by @nikiwastaken, @nushea)
- Modify large parts of the mobile view of Sable! (#1017 by @nikiwastaken, @nushea)
- Improved sliding sync (only requests specific room state data), cleaned up and fixed most flickering issues, and added buttons in developer tools to request full state. (#1020 by @7w1)
Revamped the calling experience in Sable! (#841 by @7w1)
- Pulled the latest Element Call updates.
- Style improvements to the call widget so it uses the Sable theme and fonts.
- Added support for custom ringtones and ringbacks.
- Added call permissions.
- Fixed various bugs around call ending, declining, and joining.
Fixes
- Allow favoriting all animated attachment types (#1029 by @nikiwastaken)
- Updated emojis to use stable 1.19 identifiers (#1034 by @7w1)
- Swap to using the stable identifier
m.recent_emojifor recent emojis and add migration logic. (#1009 by @7w1) - Add a direct link to room/space settings when the current sticker list is empty (#1016 by @7w1, @ellieplayswow)
- Fix leaving modal looking outsized (#991 by @nushea)
- Fix cat status not being present on its own. (#971 by @nikiwastaken)
- Fix encrypted thread messages not appearing until reopened. (#975 by @7w1)
- Fix codebase issues with gadient themes (#1007 by @nushea)
- Fix account switcher's add account button redirecting to the wrong path when hashRouter is enabled (#993 by @EphemeralFog)
- Fix the image viewer header not being fully visible on smaller phone screens. (#1035 by @7w1)
- Fix mentions not sending in non-textual replies (#1004 by @nushea)
- Fixed oidc device delete key being incorrect. (#1030 by @7w1)
- Fix crash when opening pins with stickers. (#972 by @7w1)
- Fix pixelated image scaling not pixelating when zoomed in. (#1033 by @7w1)
- Fix registration not working when accessed from add account button (#992 by @EphemeralFog)
- Reverse the order of message header elements in the right aligned bubbles layout. (#967 by @EphemeralFog)
- Fixed outdated Firefox versions and some Safari versions not being able to send messages. (#1010 by @7w1)
- Fix timeline sorting order regression when "show hidden events" is enabled. (#974 by @7w1)
- Fix ghost quickmenu (#946 by @7w1, @nushea)
- Fix Collapsed mode showing the wrong icon (#978 by @nushea)
- Fix poll crashing sable if interacted with different clients (#969 by @nushea)
- Fix video player sometimes not working (#1031 by @nushea)
- Add support for searching users via nicknames in the autocomplete menu. (#1028 by @7w1)
- Update
@sableclient/twemoji-fontto fix missing Twemoji emoji coverage. (#964 by @7w1)
1.18.3 (2026-06-17)
1.18.2 (2026-06-17)
Fixes
- Adding servers in the explore tab now persist in account data and are actually added to the list. (#953 by @7w1)
- Added a button to leave all rooms/subspaces within a space in the leave space confirmation dialog. Also has text to show number of children. (#953 by @7w1)
- Added a setting to play notification sounds when tab is in background, enabled by default. (#953 by @7w1)
- Centered the notification bell icon in the room list. (#954 by @7w1)
- Fixed edit diffs not properly scaling with zoom. (#951 by @7w1)
- Fixed icons not scaling with zoom. (#951 by @7w1)
- Fixed invalid language tag when no locale set for some systems. (#953 by @7w1)
- Fixed replying to reaction/edit events not replying. (#942 by @7w1)
- Fix sending thread messages sometimes sending in the general timeline (#944 by @nushea)
Updates Twemoji to from v15 to v17 (#950 by @7w1, @hazre)
You can check here for emoji changes:
1.18.1 (2026-06-14)
Fixes
- Added some icon size settings. (#941 by @7w1)
- Add 'Show Results' to show their poll's result before casting an answer (#939 by @nushea)
- Fix edit events collapsing with normal messages. (#941 by @7w1)
- Make more Icon changes (#940 by @nushea)
- Fix missing the mark icon on Map, and the mark moving around when clicked (#937 by @nushea)
- Hide membership events in read only rooms now also hides reactions and reaction redactions. (#941 by @7w1)
1.18.0 (2026-06-14)
Features
- Added configurable max pronoun pill count and max pill length rendering settings. (#904 by @7w1)
- Adds the ability to hover/tap over
...to see the rest of someone's pronouns. (#904 by @7w1) - Support rendering
matrix:URIs in incoming messages. (#935 by @7w1) - Added an inline add-reaction button at the end of message reaction lists. (#934 by @7w1)
- Add button to silently dismiss Invite (#936 by @nushea)
- Highlight message that you are about to reply to! (#897 by @nushea)
- Add Location styling with a modal! (#927 by @nushea)
Added more hidden timeline events with settings and rendering. (#934 by @7w1)
Settings
- Added a master Show Hidden Events toggle with per-type sub-toggles for message edits, redactions, reactions, and other unrecognized events
- Sub-toggles stay visible beneath the master toggle and are disabled while hidden events are off
Timeline rendering
- Show message edits as timeline events with reply navigation and an inline word/line diff between versions
- Show reactions, message redactions, and reaction redactions as timeline events
- Keep redacted reactions in the timeline as tombstones with redaction events linking back to them when possible
- Improve reply-chip previews for edits, redactions, reactions, and redacted targets
Safeguards
- Hide forward, delete, and other message actions on timeline meta events that cannot be forwarded or meaningfully deleted
- Disallow forwarding deleted messages and other non-message event types
Add polls! (#916 by @nushea)
Add Polls with a new Menu for adding items
- The polls have a simple style for showing and interfacing with poll events
- There is now a simple interface for creating polls which integrates the spec
- Now the Plus button on the bottom left can open a menu for selecting what to send, which will be useful for future options as well
- For the people that prefer to only add files with that button they can disable the menu and still create polls with the /poll command
- You can see who voted for what in a clear menu
Fixes
- Change image rendering to allow enabling anti-aliasing in the image viewer (#919 by @nushea)
- Fix crash during scrubbing before duration duration appears. (#902 by @7w1)
- Fixed lists rendering
phtml tags on new lines. (#906 by @7w1) - Fix math parsing inside of color blocks not being parsed properly. (#910 by @7w1)
- Fixed nested lists having wrong indentation levels when editing. (#906 by @7w1)
- Fix missing filename breaking edits, and missing a fallback, and codeblock titles overflowing (#917 by @nushea)
- Fix unset User Profile cards having incorectly colored text. (#896 by @nushea)
- Migrated all icons to Phosphor Icons and added a setting to display globe/lock icon instead of the hash tag for the room sidebar. (#934 by @7w1)