Releases: gomuks/gomuks
Release list
v26.08
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 theAcceptheader.
- The stream can either use server-sent events (
- 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
/rawcommand. - Added
/htmlmdcommand 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_versionsandget_capabilitiescommands 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_profileresponses 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_batchtoken not being saved when paginating messages from the server returns no new messages. - Fixed
prev_batchnot 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
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.directin 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
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_fts5build tag. The build scripts will add it by default, but if you rungo buildmanually, 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
/powerlevelcommand to change individual power levels. - Changed environment variable processing to prefer
GOMUKS_*_HOMEoverGOMUKS_ROOTto 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
typeshowing 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
Release post: https://mau.fi/blog/2026-05-mautrix-release/
Backend
- Added support for
Rangerequests 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
valueto the whitelisted attributes forlitags (allows ordered lists where the indexes jump arbitrarily). - Changed
/joincommand 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
Release post: https://mau.fi/blog/2026-04-mautrix-release/
Backend
- Added automatic logout when receiving
M_UNKNOWN_TOKENerror 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
/timestampcommand 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_restrictedrooms 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
/rawstatecommands 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
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.directevent 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
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
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
Dateallows.
Terminal
- Added basic support for MSC4391 commands.
- Improved error message when trying to log in with an invalid backend address.
v25.12
Release post: https://mau.fi/blog/2025-12-mautrix-release/
Backend
- Updated Docker image to Alpine 3.23.
- Added commands to remove and add aliases (thanks to @nexy7574 in #672).
- Fixed
/myroomnick/avatarcommands failing after joining a room with
restricted join rules. - Fixed race condition where a recovery key input screen would show up if the
backend hadn't finished initializing when the frontend was loaded. - Fixed
/roomnamecommand not accepting an argument.
Web
- Added voice message recorder.
- Added image pack editor.
- Added support for downloading media on the Android wrapper.
v25.11
Release post: https://mau.fi/blog/2025-11-mautrix-release/
The first release of new gomuks is here! gomuks now consists of a backend plus different frontends, like web and terminal. For context, see #476.
The terminal frontend is currently a separate binary, but will be combined with the backend in a future release. It's also not at feature parity with legacy gomuks yet, but it works.
See the installation instructions for more details: https://docs.mau.fi/gomuks/installation.html