Skip to content

Releases: gomuks/gomuks

v26.10

Choose a tag to compare

@tulir tulir released this 16 Oct 15:46

Release post: https://mau.fi/blog/2026-10-mautrix-release/

Backend

  • Added fallback text if the preview message has no text itself.
  • Added h2c support for HTTP server.
  • Added option to listen with TLS.
  • Added option to change initial device displayname via the config file.
  • Added support for storing edits received from server-side aggregations.
  • Added support for displaying reactions with quotes in the text.
  • Added aggregation of own reaction event IDs.
  • Added room alias management RPC methods.
  • Added config options to change HTTP request timeouts.
  • Added is_dm flag to pushes.
  • Added formatted_body for fake events (like command responses) so frontends that don't use the sanitized HTML can still render them.
  • Added RPC methods for calling MatrixRTC livekit token endpoints.
  • Added support for sending thread read receipts via RPC API.
  • Added support for logging out in the Wasm build.
  • Changed response type of get_mentions to support returning related events.
  • Changed HTML sanitizer to allow <small> tag.
  • Optimized filling reaction count and latest edit aggregations.
  • Improved various database indexes to be more efficient.
  • Fixed reaction counts not being recalculated when paginating history.
  • Fixed timeline reset failing when logged into an account that's only joined to 1 room.
  • Fixed syncs not returning latest aggregation data when the original event and aggregated events like edits and reactions were a part of the same sync.

Web

  • Added spacious room list style option, in addition to the existing compact
    and standard styles.
  • Added support for removing own reactions by clicking on them.
  • Added /upgraderoom command, which pre-fills the room creation dialog.
  • Added locally failed sends (ones that didn't even reach the backend) to the timeline to allow retrying them.
  • Added support for sharing plain text on Android.
  • Added support for sharing to a specific room on Android.
  • Added reporting sent messages to Android wrapper for updating native conversation shortcuts.
  • Added option to override default preferences from backend config.
  • Added support for rendering galleries.
    • Sending is also supported, but mostly disabled, as allowing sending such backwards-incompatible events would be irresponsible.
  • Added support for dropping files in the chat view to upload them.
  • Improved picking the letter for fallback avatars.
  • Fixed pending device code login state not being cleared on successful login.
  • Fixed composer draft not being cleared when jumping to another room with /join.
  • Fixed context menu opening on mobile when unspoilering text or clicking polls.
  • Fixed profiles not showing up in notifications panel.
  • Fixed copy /raw button for unencrypted events in encrypted rooms.
  • Fixed shares from Android being dropped if the main screen wasn't loaded.
  • Fixed extra whitespace when copying text from the event source view.

C FFI

  • Removed root parameter from GomuksInit.
  • Added GomuksSetEnv function for setting environment variables like GOMUKS_ROOT.
  • Added config parameter to GomuksInit.
  • Changed GomuksHandlePush to return room data in addition to the event.

Go RPC client

  • Fixed handling syncs without room metadata (thanks to @bleader in #763).

v26.09

Choose a tag to compare

@tulir tulir released this 16 Sep 11:43

Release post: https://mau.fi/blog/2026-09-mautrix-release/

Backend

  • Bumped minimum Go version to 1.26.
  • Added support for handling push notifications from homeserver.
    • This is meant for clients that use gomuks as an SDK. The web frontend won't use it.
  • Added support for accounts with a broken default SSSS key ID (likely caused by setting up encryption with fluffychat).
  • Added --update flag to update the current backend binary and exit.
  • Added preview text to locally calculated content of events and stopped mutating the raw content to remove fallbacks.
  • Added callback-based async methods to the C FFI.
  • Switched macOS CI builds to use goolm.
  • Fixed room sorting timestamp being bumped by all encrypted events instead of only messages.

Web

  • Added swipe to reply.
  • Added support for jumping to raw event IDs using /join.
  • Added button to copy /raw command including per-message profile in event source view.
  • Added /version command to check the current gomuks version.
  • Added app identifier to outgoing messages.
  • Added compact room list option.
  • Adjusted padding of composer and room list entries, and fixed alignment of unread counters.
  • Changed room names in room list to be less bold when the room is fully read.
  • Changed default font to Inter instead of OS defaults.
  • Changed emoji/sticker/gif picker to not take up the entire screen on mobile.
  • Changed message send errors to be rendered more prominently.
  • Re-added support for Tenor in the gif picker.
  • Removed custom top context menu on mobile and changed the standard context menu to open when tapping a message.
  • Disabled the ability to reply to internal command response messages.
  • Fixed message search results not showing date of newest result.
  • Fixed internal command response messages using a federated mxc for the avatar instead of loading it locally.
  • Fixed tall images being stretched in the upload dialog.

v26.08

Choose a tag to compare

@tulir tulir released this 16 Aug 13:50

Release post: https://mau.fi/blog/2026-08-mautrix-release/

Backend

  • Added streaming HTTP response as an alternative for websockets.
    • The stream can either use server-sent events (text/event-stream) or plain JSON objects (application/jsonl) based on the Accept header.
  • Added support for room list catch-up syncs for frontends.
  • Added media download method to C FFI.
  • Added support for using the reply UI with the /raw command.
  • Added /htmlmd command which allows sending messages that mix HTML and markdown.
  • Added support for calling any HTTP endpoint with basic auth without having to exchange it for an auth cookie first.
  • Added get_versions and get_capabilities commands to get features supported by the homeserver.
  • Switched to latest revision of MSC4461 for sending per-message profiles.
  • Changed recovery key reset RPC API generate cross-signing with the recovery key and taking them as a parameter to the upload request instead of generating at upload time.
  • Changed format of get_profile responses to allow locally generated fields.
  • Changed sync responses to allow omitting any field in room entries.
  • Changed HTML sanitizer to only allow checkboxes inside unordered list items.
  • Changed room state resync to send space edges to clients if the room being resynced is a space.
  • Changed verification check to fall back to the verify screen if the key backup encryption key has changed.
  • Fixed HTML sanitizer not applying the depth limit specified by Matrix.
  • Fixed prev_batch token not being saved when paginating messages from the server returns no new messages.
  • Fixed prev_batch not being reset on limited syncs.
  • Fixed clients never receiving initial sync payload if they connect during database initialization.

Web

  • Added option to use server-sent events instead of websockets.
  • Added optional client-side room list cache, which is used to reduce the initial payload size when reloading the page. The cache is enabled when both SSE and low-bandwidth mode are enabled.
  • Added knocked users to room user list.
  • Added option to pin low priority rooms to bottom of room list.
  • Added option to stop counting unread messages in low priority rooms.
  • Added button to reset TOFU status after another user's master key changed.
  • Added hacky support for checking/unchecking todo list items in own messages.
  • Added button to subscribe to image packs in the image pack editor.
  • Added button to open the user's member event from the right panel user info.
  • Added button for fetching previous state events in the room state explorer.
  • Added current backend version string to settings.
  • Added support for MSC4440 profile biographies.
  • Changed user info panel to blur any user-defined fields if the user is banned in the current room.
  • Changed per-message profile rendering to not render "via" if the name is the same.
  • Fixed websocket auto-reconnection getting throttled by browsers.
  • Fixed typing notifications getting stuck when the websocket reconnects.
  • Fixed unread counts and space bar not being visible when the room list was resized to be too small.

Desktop

  • Added UI for managing backends.
  • Added option to disable tray icon.
    • Closing the main window will stop the backend too when the tray is disabled.
  • Added option to disable notifications per backend.

v26.07

Choose a tag to compare

@tulir tulir released this 16 Jul 11:57

Release post: https://mau.fi/blog/2026-07-mautrix-release/

Backend

  • Updated Docker image to Alpine 3.24.
  • Added support for OAuth login.
  • Added command to create polls.
  • Fixed own profile being refetched too often.
  • Fixed initial sync of very big spaces.
  • Fixed direct chat status getting out of sync with m.direct in some rare cases.
  • Removed support for legacy SSO (legacy password auth is still supported).

Web

  • Added support for OAuth login.
    • Device code login is the default. On servers that don't support it, authorization code redirect login is supported in some limited cases.
  • Added rendering for polls.
  • Added power level changer in user info panel.
  • Added default aspect ratio for custom emojis to avoid timeline jumping when lots of them are loaded.
  • Added own device list to settings.
  • Added room metadata changing to settings.
  • Added button to open settings without being in a room.
  • Split settings view into tabs so things are easier to find.
  • Changed behavior of escape key: it will now clear any reply state in the composer (like it already did for edits) and/or close the right panel before closing the room view.
  • Fixed sidebars not being properly resizable on small screens.
  • Fixed pasting commands (like /raw) on mobile.

v26.06

Choose a tag to compare

@tulir tulir released this 16 Jun 12:53

Release post: https://mau.fi/blog/2026-06-mautrix-release/

Backend

  • Added local full-text search support.
    • Upgrading may take a few minutes if your database is large.
    • The backend must now be compiled with the sqlite_fts5 build tag. The build scripts will add it by default, but if you run go build manually, you need to add the tag yourself.
  • Added support for thumbnailing animated webp avatars.
  • Added support for correctly rotating HEIC images when re-encoding uploads.
  • Added documentation generator for RPC API and an OpenAPI spec for the HTTP API.
  • Added /powerlevel command to change individual power levels.
  • Changed environment variable processing to prefer GOMUKS_*_HOME over GOMUKS_ROOT to allow finer control.
  • Fixed panic when cancelling media uploads.

Web

  • Rewrote desktop wrapper to use Electron instead of Wails.
    • Linux builds now have an actually usable browser engine, and macOS builds are signed to allow installing without workarounds.
    • The new wrapper supports both embedded and remote backends and can have multiple backends at once. Extra backends have to be added manually for now, management UI will be added later.
  • Added message search panel.
  • Added separate message context menu button to open thread panel.
  • Added undo button to move a failed message send back into the composer.
  • Added push rule editor to devtools.
  • Fixed reaction images not having a maximum width.
  • Fixed successfully decrypted events with an empty type showing up as waiting for decryption.
  • Fixed pinned messages view not showing edits of old messages.
  • Fixed emoji/sticker picker categories not adjusting to picker width properly.
  • Fixed bottom safe area inset not being applied properly when using Android wrapper.

v26.05

Choose a tag to compare

@tulir tulir released this 16 May 11:23

Release post: https://mau.fi/blog/2026-05-mautrix-release/

Backend

  • Added support for Range requests when downloading media.
  • Added support for sending per-message profiles with MSC4461.
  • Changed resyncing state to detect the user being state reset out of the room even if the request doesn't fail (e.g. due to the room being world-readable).
  • Fixed login failing if the user has no SSSS set up.

Web

  • Added support for reading stable MSC2545 event types.
  • Added support for per-room notification sounds.
  • Added option to force sending an attachment as a file.
  • Added the value to the whitelisted attributes for li tags (allows ordered lists where the indexes jump arbitrarily).
  • Changed /join command to accept user IDs and event links in addition to plain room links/aliases.
  • Fixed SSO login not working if the homeserver URL had a trailing slash.
  • Fixed unicode RTL overrides not being isolated properly in some contexts.

v26.04

Choose a tag to compare

@tulir tulir released this 16 Apr 15:23

Release post: https://mau.fi/blog/2026-04-mautrix-release/

Backend

  • Added automatic logout when receiving M_UNKNOWN_TOKEN error from server.
  • Added support for receiving sticky events and forwarding them to the frontend. The frontend can also query all active sticky events in a given room.
  • Added support for resetting cross-signing and key backup.
  • Changed the auth endpoint to explicitly refuse insecure requests from web clients to make the error message clearer.
  • Fixed empty spaces not being sent to frontend.
  • Fixed panic if /timestamp command is missing parameters.
  • Fixed websocket request handling panics not being caught properly.

Web

  • Added option to reset encryption when logging in.
  • Added profile field editor to devtools.
  • Added full reaction list modal in event menu.
  • Added simple pronoun input to own profile view. Note that the input disables itself if you have non-standard or non-english pronouns in your profile. You can delete or modify such values using the profile editor in devtools.
  • Added options for sorting room list (alphabetical and favorites first).
  • Added option to change max image width in timeline.
  • Added escape keybinding to close active room (thanks to @kittyandrew in #698).
  • Added preference to autoplay video gifs (thanks to @kittyandrew in #705).
  • Added support for sending sticky events to widgets.
  • Added shortcut to open space home by clicking on space icon again.
  • Removed support for account image packs as they were removed from MSC2545.
  • Changed tab size in code blocks to 4 spaces instead of the default 8.
  • Fixed knock_restricted rooms not showing join button correctly.
  • Fixed handling code blocks that use <br> instead of \n.
  • Fixed incorrect video size when thumbnail resolution is different than video (thanks to @kittyandrew in #699).
  • Fixed displayname of room preview message sender not being fetched automatically.
  • Fixed copying /rawstate commands with empty state key from view source (thanks to @nexy7574 in #689).
  • Fixed timeline not staying scrolled up when jumping to an old event from another room.
  • Fixed downloading media in widget API.

v26.03

Choose a tag to compare

@tulir tulir released this 16 Mar 16:33

Release post: https://mau.fi/blog/2026-03-mautrix-release/

Backend

  • Added option to build with dynamic libheif.
  • Added automatic logout on unknown token errors.
  • Switched to m.direct event for classifying direct chats.
  • Fixed weirdness after login by sending the normal init payloads instead of the Matrix init sync payload to frontends.
  • Fixed option to disable auth not working correctly.
  • Fixed voice message metadata incorrectly being added to all attachments.

Web

  • Added support for klipy in gif picker.
  • Added button to re-request megolm sessions from key backup and other devices.
  • Added fallback name for invites with no name information included.
  • Removed rainbow background on dark theme (can be restored using the make dark gay again theme).

v26.02

Choose a tag to compare

@tulir tulir released this 16 Feb 15:06

Release post: https://mau.fi/blog/2026-02-mautrix-release/

Backend

  • Bumped minimum Go version to 1.25.
  • Added C FFI package for embedding the backend into any kind of client.
  • Added triggered push rule ID to local content of events for debugging.
  • Added support for handling recovery keys with no verification metadata or
    broken verification metadata generated by nheko.
  • Added config option to set sync presence to always online instead of the
    default always offline.
  • Changed DM detection to allow the rooms to have an explicit room name set.

Web

  • Added support for always on screen widgets that follow you between rooms.
  • Added loading indicator to action modals like reporting messages.
  • Added support for hiding events in JS to have accurate date separators even
    if all events are hidden.
  • Added support for showing read receipts of hidden events on previous visible
    event.
  • Added option to hide profile changes while showing other member events.
  • Added blurhashes for URL preview images.
  • Added button for creating new image packs.
  • Added support for being a share target when using the Android wrapper app.
  • Added button to show composer in tombstoned rooms.
  • Updated delayed event widget API to fix Element Call.
  • Changed timeline rendering to ignore nested encrypted events.
  • Fixed font size of header tags.
  • Fixed alignment of reaction emoji picker on small screens.
  • Fixed giphy gifs not showing up in composer correctly.

Terminal

  • Fixed replying to messages.

v26.01

Choose a tag to compare

@tulir tulir released this 16 Jan 16:58

Release post: https://mau.fi/blog/2026-01-mautrix-release/

Backend

  • Added some documentation for the RPC API.
  • Added local calculation of heroes when fetching full member list as a workaround for servers that don't provide accurate lazy loading summaries.
  • Fixed DM flag being cleared if the recipient leaves.

Web

  • Added notification center in right panel.
  • Added option to reply to messags using ctrl+arrow up/down.
  • Added blurred URL preview images and click-to-view support in rooms with media previews disabled.
  • Added metadata in room preview for non-invite rooms.
  • Switched command system from MSC4332 to MSC4391.
  • Switched default GIF provider to Giphy as Tenor is being shut down in June.
  • Removed power level check for sticker picker to allow subscribing to packs even if the image pack room doesn't allow sending messages.
  • Fixed room list previews having incorrect sender information if it was updated by a message being decrypted late.
  • Fixed timeline crash if a message timestamp was outside what JS's Date allows.

Terminal

  • Added basic support for MSC4391 commands.
  • Improved error message when trying to log in with an invalid backend address.