Skip to content

Releases: SableClient/Sable

1.18.1 (2026-06-14)

14 Jun 17:04
aa88750

Choose a tag to compare

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)

14 Jun 03:15
3d02633

Choose a tag to compare

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 p html 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)

1.17.0 (2026-05-22)

22 May 02:05
4c4d146

Choose a tag to compare

Features

  • Add support for misskey-flavored markdown color definitions. E.g. $[fg.color=f00 bg.color=00ff00 red on green]. (#860 by @7w1)
  • Add per Space setting for when to show room icons in sidebar (#851 by @nushea)
  • Add toggle to list all rooms inside of the home sidebar. (#866 by @nushea)

Change Image Viewer to feel more natural to use. (#686 by @7w1, @nushea, @Septicity)

  • Fixed zoom gestures generally not working on mobile.
  • Changed the % number in the top right to reflect the zoom of the original image as opposed to the change from it fitting the container.
  • Made the zoom pill allow entering custom values.
  • Added a button that zooms you to the original size of the image, and a button to return to the size that fills the container.
  • Added a pixelated image scaling setting: choose Both, Chat, Image viewer (default), or Neither for crisp nearest-neighbor rendering.
  • Transitions are now disabled for manual panning to improve responsiveness.

Fixes

  • Fixed starting lists at arbitrary numbers and list markers extending off screen with long numbers. (#860 by @7w1)
  • Fix single new lines after block quotes being block-quoted. (#860 by @7w1)
  • Fix emojis not rendering in reply chips. (#860 by @7w1)
  • Hardened html parsing in standard input box, should no longer randomly delete text in arrow brackets (unless valid, properly closed, legal html). (#860 by @7w1)
  • Fixed the message loading spinner flickering instead of continuing during large pagination chunks. (#895 by @7w1)
  • Fix matrix.to links getting arrow brackets inserted when editing messages. (#860 by @7w1)
  • Fix mentions breaking after editing messages with mentions. (#860 by @7w1)
  • Fix account switching and logging in with multiple (SSO) accounts silently failing (#882 by @770grappenmaker)
  • Removed the arbitrary bio limit from the bio editor. (#863 by @7w1)
  • Remove target and rel attributes from outgoing html links. (#891 by @7w1)
  • Fix tablet layouts having the sidebar fill up the screen. (#864 by @7w1)
  • Add support for stable mutual rooms endpoint, manually ported from this commit by ajbura upstream. (#852 by @7w1)

Documentation

  • Docker build tags have been updated: latest now tracks the latest versioned release and dev now tracks the dev branch. (#892 by @7w1)

1.16.1 (2026-05-15)

15 May 05:10
1f6b87b

Choose a tag to compare

Fixes

  • Fix issues related to editing messages with links losing previews or gaining <> (#847 by @7w1)
  • Made markdown headers also function properly with single new lines instead of only two new lines. (#837 by @7w1)
  • Fix mentions not being linkfied. (#837 by @7w1)
  • Fixed crash when rendering some m.room.pinned_events timeline rows (old/malformed pin state edge case). (#848 by @7w1)
  • Fixed reply chips for deleted messages and media without captions showing m.room.message type instead of the event. (#846 by @7w1)
  • Fixed room pings looking like normal message links instead of pings. (#837 by @7w1)
  • Properly centered message loading indicators to avoid brief scrollbar shift while loading messages. (#849 by @7w1)

1.16.0 (2026-05-14)

14 May 03:29
604661e

Choose a tag to compare

Features

  • Add Space banner support per MSC4221. You can now set it from the space settings. (#801 by @nushea)
  • Add setting to show icons of the rooms in the Rooms sidebar (#768 by @nushea)
  • Add Resize the sidepanels and the thread height of the original object using hoverable tools. (#768 by @nushea)
  • Add toggle to allow one to not join a call in a room by just clicking it in the sidebar. (#768 by @nushea)
  • Added the ability to right click on a folder to rename it. (#814 by @7w1)
  • Upgraded the forward modal to use the same modal present for search and added the ability to forward to same room the message is from. (#808 by @7w1)

Introduce the new Sable logo! (#809 by @Septicity)

  • You may need to reinstall PWAs to recieve the new app icons, if you use them.
  • Our logo is licensed under CC0, aka do whatever you want with it!
  • Also, there's a script for other us or other forks to replace the icon in the future, if needed.

Fixes

  • Add graceful fail if MSC4140 event delay exceeded (#276 by @jasonlaguidice)
  • Drops paragraph tags when messages are only a single paragraph, use markdown (two new lines) to define a new paragraph rather than a line break. (#799 by @7w1)
  • Fixed the text wrapping behavior of fallback messages. (#806 by @7w1)
  • Fixed the thin line appearing at the top of unstyled profiles. (#803 by @7w1)
  • Matrix.to links sent without explicit markdown formatting are sent as raw links instead of html links. (#786 by @7w1)
  • Fix /myroomnick and room cosmetics display name not updating name. (#805 by @7w1)
  • Fix spoilers not hiding nested content like mentions, emoji images, and custom-colored spans. (#807 by @7w1)
  • Added svgs to the allowed embeds for rendering/sending. (#804 by @7w1)
  • Suppress timeline dividers when there's no rendered events between them. (#720 by @mvanhorn)
  • Improve thread drawer separation between the pinned root message and replies with a border. (#830 by @7w1)

1.15.3 (2026-05-09)

09 May 23:06
1853974

Choose a tag to compare

Fixes

1.15.2 (2026-05-07)

07 May 05:56
1c46081

Choose a tag to compare

Fixes

  • Adds back the message editor toolbar under an optional setting. No longer uses WYSIWYG, just applies markdown. http://localhost:8080/settings/general?focus=composer-formatting-toolbar&moe.sable.client.action=settings (#762 by @7w1)
  • Fixed blockquotes needing a double backslash to escape and require a space after the > in order to form a blockquote. (#758 by @7w1)
  • Fix empty messages being displayed as broken messages. (#754 by @7w1)
  • Reescape arrow brackets when editing a message. (#763 by @7w1)
  • Fix extraneous markdown escape characters when editing code blocks. (#762 by @7w1)
  • Fixed jumpting to arbitrary events (e.g. reactions, edits, pins, leaves/joins). (#759 by @7w1)
  • Fix latex in codeblocks getting parsed. (#758 by @7w1)
  • Fixed message links being rendered as full links. (#751 by @7w1)
  • Fixed per-message profile proxies not unwrapping and generally just not working. (f8a9a8f)
  • Fixed tweak automatic favoriting behavior when entering/leaving the catalog. (#757 by @7w1)
  • Fix tweaks not applying on built-in themes. (#756 by @7w1)
  • Added the ability to underline using __underscores__. (#761 by @7w1)

1.15.1 (2026-05-05)

05 May 20:35
2e08ac3

Choose a tag to compare

Fixes

  • Fix editing messages with custom emojis being converted into html tags. (#749 by @7w1)
  • Fix muted rooms appearing as standard unread rooms. (#750 by @7w1)
  • Fix the call stack size crash on load when sliding sync is enabled. (#748 by @7w1)

1.15.0 (2026-05-05)

05 May 05:30
02573cd

Choose a tag to compare

Features

  • Add background styling to user profile cards (#712 by @nushea)
  • Add preventing url preview cards by surrounding a link in anglebrackets like https://app.sable.moe (#717 by @nushea)
  • Reorganize Embed settings and reintroduce multiple embeds (#667 by @nushea)
  • Change Misc. data styling in users profile pages (#663 by @nushea)
  • add initial support for sending discoverable emojis and sticker (#730 by @dozro)

Themes and tweaks from the catalog (#633 by @7w1)

Themes are pulled from a repo now, so you get the full power of CSS instead of a palette. Tweaks are new: CSS overlays that sit on top of whatever theme you are using.

You'll be prompted to migrate to the new system whenever you update, if you choose not to, you'll be limited to the basic dark/light themes. A few additional themes have been added (Rose Pine variantes, Catpuccin) along with some basic tweaks (circular avatars, monochrome avatars, and square stuff).

You can share themes and tweaks. For themes uploaded online, simply hit the copy button in settings and paste the link in chat. If the setting is enabled, a preview will be generated. Third party themes (as defined by the config.json) have prominent warning banners and fetching is disabled by default.

You can also export and share theme files directly, although no previews are generated for these.

If you're intrested in getting a theme or tweak added to the official catalog, contribute to the themes repo linked above! We're eager to add more!

Markdown parser and render updates (#727 by @7w1)

Migrated markdown parsing and rendering to use marked, which should fix most (all?) markdown issues involving lists/nested structures, inconsistent/inaccurate code blocks, escape sequences, and all the other bugs with literally everything.

Added math rendering support via marked and KaTeX, uses standard $$ and $ delimiters. Only renders a subset of latex tags that will likely need to be expanded so feel free to make issues if needed.

Also adds support for sending markdown tables (although they're rendered rather plainly at the moment), sending valid html directly (such as for colored text), and properly escaping anything with backslashes.

Fixes link previews appearing in code blocks, fixes pmp new line behavior, fixes links not opening in new tabs, and fixes editing arbitrary html messages, probably.

Finally, the old WYSIWYG editor has been completely removed.

Fixes

  • Fix spam-clicking abbreviations crashing sable (#665 by @nushea)
  • Add cache-control headers in Caddyfile for assets, service worker, and index.html (#609 by @Just-Insane)
  • Fix the first pin event in a room looking empty (#685 by @nushea)
  • Fix read receipt scrolling not working (#631 by @Septicity)
  • Fix status sometimes sticking in member tile (#664 by @nushea)
  • Fix apng files not animating. (#737 by @7w1)
  • Some fixes to sync requests being spammed on loading screen and for multi-account background syncing, it should also load faster now! (#736 by @7w1)
  • Fix other dmed party not being added as a founder by default when creating a dm. (#737 by @7w1)
  • Update verbiage in the credits (#728 by @nushea)
  • spoilered text now gets replaced with [Spoiler] in the plain text fallback, as per MSC4454 (#715 by @dozro)
  • Hide copied settings links on dynamic rows (#695 by @hazre)
  • Fix button hover background smearing in virtual list rows by suppressing transform on hover (#614 by @Just-Insane)
  • Fix Workbox precaching by removing injectionPoint override that was silently disabling all precache entries (#611 by @Just-Insane)

Change how settings links are shared (#695 by @hazre)

Settings links copied from Sable now stay on the current client URL and include a small Sable marker in the link. That lets Sable recognize settings links copied from other Sable instances without treating unrelated third-party /settings/... links as Sable settings links.

When you send a bare settings link in the composer, Sable now rewrites it into a labeled link so it looks better on non-Sable clients too. For example: [Settings > Account > Display Name](https://client.example/settings/account?focus=display-name&moe.sable.client.action=settings).

Invalid or malformed settings-looking links now stay normal links instead of being shown as settings chips.

If you previously set settingsLinkBaseUrl in config.json, remove it. Sable now derives settings links from the runtime app URL, and the old config key is no longer used.

1.14.0 (2026-04-10)

10 Apr 03:26
6a895f8

Choose a tag to compare

Features

  • Add support for rendering bundled urls per MSC4095 (#590 by @nushea)
  • Improve code blocks with faster, more accurate syntax highlighting, broader language support, and separate light and dark theme options. (#576 by @hazre)
  • Add statuses to DMs (#644 by @nushea)
  • Add custom DM images and descriptions (#644 by @nushea)
  • Add statuses to Member Tile (#644 by @nushea)
  • Add the ability to set Global Name Colors dependent on the theme (dark/light) (#656 by @nushea)
  • Add a setting to collapse sidebar folders by default. (#624 by @7w1)
  • Add a "Dismiss" button to command response messages. (#625 by @7w1)
  • Update threads: various fixes, browse all room threads, and see live reply counts on messages. (#564 by @Just-Insane)
  • Re-introduced custom HTML formatting for long messages (#641 by @Septicity)
  • You can now share direct links to specific settings, and opening one takes you to the right section and highlights the target option. (#577 by @hazre)
  • Settings now use route-based navigation with improved desktop and mobile behavior, including better back and close handling. (#577 by @hazre)

Fixes

  • Use file name instead of "a voice message" for non-voice audio files. (#651 by @mvanhorn)
  • Constrain bug report modal to viewport height to prevent overflow. (#652 by @mvanhorn)
  • Fix dms navigation not navigating to dms when local storage is messed up. (#653 by @7w1)
  • Fix reply button not capturing editor focus. (#623 by @7w1)
  • Fixes links not being clickable in formatted messages, including messages that use abbreviations. (#632 by @hazre)
  • Fix some zero-width (invisible) names (#640 by @nushea)
  • Fix iOS elastic bounce-back overscroll on the root element. (#650 by @mvanhorn)
  • Fixed the "sticky scrolling" issue in encrypted rooms with many PMP messages. (#626 by @Septicity)
  • Fix blank room timeline when app returns from background. When sliding sync delivers an initial: true response for the open room, a TimelineReset event now correctly shows skeleton placeholders while events reload instead of leaving an empty view. (#657 by @Just-Insane)
  • Image zooming is now centered on the cursor position (#602 by @mini-bomba)
  • Image zooming is now multiplicative instead of additive, resulting in a consistent "zooming speed". (#602 by @mini-bomba)
  • Image zoom buttons now zoom towards the center of the screen (#602 by @mini-bomba)
  • Right clicks no longer drag images in the viewer. (#620 by @Septicity)
  • Updated Support links to point to https://opencollective.com/sable (#661 by @7w1)