Skip to content

Releases: Nheko-Reborn/nheko


23 Feb 00:58
Choose a tag to compare


  • Fix redundant null byte inserted with the emoji completer


20 Feb 05:59
Choose a tag to compare


  • Improved Markdown input 🗒️
    • You can now enter strike-through and spoilers using ~~ and ||
    • Single line-breaks now also create a line-break in the formatted message.
    • Code tags now preserve whitespace.
  • User search in the invite dialog 🧑‍🤝‍🧑 (Malte E)
    • Can search either locally or consult the user directory on your server.


  • Allow disabling animations before login.
  • Set the window role to "imageoverlay" on X11. (Thulinma)


  • The Nheko binary should now be slightly smaller.
  • You can now build Nheko against a system install of the blurhash and
    cpp-httplib libraries. (vitaly)
  • You can now enable scrollbars for the room and community lists in the
    settings. (balsof)
  • Add a generic video icon when there is no thumbnail. (LorenDB)
  • Pause video when switching rooms. (LorenDB)
  • Add a fancy delegate when encryption is enabled. (LorenDB)
  • Standardise command format messages. (phyto)
  • Automatically fetch keys for undecrypted messages after verification.
  • Remove all notifications on exit on Linux. (ShootingStarDragons)
  • Document markdown features and /cmark command in the man page. (tastytea)
  • Speedup the user completer.
  • Allow closing menus on Wayland by clicking the window. (ShootingStarDragons)
  • Merge Debian/Ubuntu Dependencies in the README. (enigma9o7)
  • Update zsh completions. (tastytea)
  • Skip empty requests for cross-signing keys when user only has one device.
  • Hide image overlay when saving a file. (ShootingStarDragons)
  • Make it more obvious that the add reaction button is not an emoji.
  • Build only the gstreamer qml plugin in flatpak.
  • Update Ubuntu dependency list for building from source. (tastytea)


  • Estonian (Priit)
  • Ukrainian (NullPointerException)
  • Indonesian (Linerly)
  • Chinese (Poesty Li)
  • Esperanto (Tirifto)
  • French (MayeulC, CB, Glandos, Rick)
  • Dutch (Thulinma)
  • Italian (DynamoFox, Elia Tomasi, Joseph Curto, Quanterxotur)
  • Russian (Evgeny, SOT-TECH)
  • Finnish (Lurkki)


  • You can now forward stickers again.
  • Edits shouldn't "jump" out of threads anymore.
  • Focus text input when quick switcher is closed. (LorenDB)
  • Fix rare freeze with an empty list in a completer.
  • Don't fail the plugins check on GStreamer 1.22 during a video call.
  • Allow nested ()/[] brackets in URLs. (mauke)
  • Make br tags work properly again.
  • Don't double free call devices. (Jason)
  • Work around multiple destructor calls on Clang. (Jason)
  • Html in sidebar.


You may want to build against the most recent mtxclient (0.9.2) for additional
bugfixes. cpp-httplib and blurhash are still bundled by default and shipped with
the source tarball. Explicitly disable the bundling for those packages to build
against system versions.

These mtxclient updates are included in the release artifacts below.


16 Jan 01:09
Choose a tag to compare

Hotfix Release

  • Fixes issue where CPU usage could be excessive even when nheko was idle or minimized. (See #1284)
  • Add failed state for queued (pending) messages


12 Jan 23:28
Choose a tag to compare

[0.11.0] -- 2023-01-12


  • Search in your timeline 🔍
    • Works in encrypted rooms.
    • Search is entirely local.
    • It might be a bit slow on some systems, since it needs to paginate the room
      to search instead of relying on the server.
  • Pushrule support! 🫸🫷
    • Notifications should now be faster and not rely on the server.
    • Notifications should work properly in encrypted rooms.
    • MSC3664 is supported for pushrules for reply (needs server support).
    • Mentions get highlighted in the timeline.
    • Decrypting notifications can be disabled for improved privacy.
  • Threads 🧵
    • Threads are a simple way to structure large rooms.
    • Start a new thread from any event.
    • Focus on a specific thread by clicking on the colored thread button next to
      any event from this thread.
    • Replies automatically land inside the thread.


  • Remember where you left off using the new unread indicator! ---
  • Navigate to space when selected in quick switcher or via link.
  • (Re-)Add an AppImage build. (Zhymabek Roman)
  • Render and send confetti! 🎉 (LorenDB)
  • Focus text field on most key presses.
  • Show link to next room for tombstone events.
  • macOS: Only play notification sound when pushrule says so.
  • macOS: Builds for Apple Silicon.
  • macOS: Allow quick replies from notifications.
  • Completer for /commands.
  • Allow opening room settings from room list. (LorenDB)
  • Allow setting the status message via the dbus API. (LorenDB)
  • Allow swapping Enter and Shift-Enter. (LordMZTE)
  • Preliminary support for VoIP v1. (Rohit)
  • Allow applying permission changes in spaces recursively.
  • Allow modifying permissions of users not in the room.


  • Prompt before deleting the database when the error could be resolved by the user.
  • Improve logging in particular for sync or registration errors.
  • Speedup quick switcher.
  • Prune image cache in the background.
  • Store all secrets encrypted in the database (apart from the pickle).
  • Speedup fetching olm sessions from the database.
  • Increase database resiliency at the cost of a lot of performance.
  • Rename spaces to communities.
  • Handle some rate limiting better in some cases.
  • More fine grained control over logging. (Forest)


  • Ukrainian (NullPointerException)
  • Indonesian (Linerly as always <3)
  • Portugese (Brazil) (Daimar, zerowhy, Terry)
  • Estonian (Priit also a valued regular)
  • Finnish (Lurkki, you might know them too!)
  • Chinese (Chen Shaoji, Poesty Li, ling, Eric)
  • Russian (SOT-TECH, Evgeny, Carmina16, Mihail Iosilevich, Artem, Herecore, Alexey Murz, glebasson)
  • Occidental (Carmina16)
  • Polish (Romanik)
  • Dutch (Thulinma)
  • French (GitEz-code, Guillaume Girol, lascapi)
  • Esperanto (Tirifto)


  • Fix regional indicators. ‌🇦‌-‌🇿‌
  • Pasting from Safari on macOS.
  • Potential crash when closing the room directory.
  • text selection in the raw message dialog.
  • Pagination after a timeline clear.
  • Entering newlines on Windows.
  • Work around crash in QQC2 in alias dialog.
  • Fix forwarding between encrypted rooms.
  • Blurry icons on HiDPI screens. (q234rty)
  • Fix CMark warning when configuring. (FINALLY!)
  • Blurry thumbnails. (again?!?)
  • Upload box thumbnail size. (foxb612)
  • Previews getting sorted above normal rooms in space view.
  • Excessive summary calls.
  • Usage type buttons for Sticker/Emoji packs.
  • Old server lookups overwriting new ones, possibly preventing any login.
  • Crash in member list.
  • Stripping fallbacks of plain text bodies.
  • Different greens.
  • Spoilers in replies.
  • Invites without state.


We bumped the required mtxclient version to 0.9.0 and the required coeurl
version to 0.3.0. Supported Matrix API versions are now 1.1 to 1.5.

Nheko now also uses the particles qml module.


We provide an installer for Windows as well as a "portable" variant, that won't be able to open matrix: links from your browser.

For Linux we provide flatpaks, however usually you should download them from Flathub. There is also an AppImage, but that does not support voice calls and in general will have some limitations. In any case, distro packages usually are the best option if they are up to date.

For macOS we now provide separate builds for apple silicon and intel macs. If you are packaging these, you might need to adapt your download paths!


28 Sep 15:20
Choose a tag to compare

[0.10.2] -- 2022-09-22

Security release

  • Fixes potential secret poisoning by the homeserver
  • A crash when validation malicious html

Thanks to the security team for disclosing this issue.

An update is highly recommended. Otherwise you can temporarily protect against
this issue by not verifying your own devices and not pressing the request button
in the setting.


07 Sep 20:42
Choose a tag to compare

[0.10.1] -- 2022-09-07


  • Community editing support 🤼
    • You can now create communities.
    • You can add and remove rooms to and from communities in various ways.
  • Prettier joins ✨
    • You can now see the avatar, title, topic and member count of the room you
      are trying to join.
    • You can see if a room requires knocking or can be joined directly.
    • Requires MSC3266 support from your server.


  • Add a discrete edit button to room profiles. (Hiers)
  • Don't escape the summary tags on sending.
  • Focus message area when pressing Escape. (Forest)
  • Barebones spoiler support on desktop platforms.
  • Enable encryption for DMs started from a profile by default.
  • Enable option to disable notification sounds and badges on macOS.
  • Speed up the completion trie. (nenomius)


  • Polish (Romanik, luff)
  • Dutch (Thulinma)
  • Finnish (Lurkki)
  • Estonian (Priit)
  • Indonesian (Linerly)


  • Fix crash on empty private receipts sent by some servers.
  • Don't set a transient parent for child chat windows.
  • Validate roomid, state_key, event_id and userids sent by the server.
  • Fix empty widgets showing up in the widget list.
  • Clean up linter config. (Forest)
  • Use the right palette colors for reactions. (Forest)
  • Fix groups sidebar's grammar. (Forest)
  • Fix version position. (Zirnc)
  • Properly validate urls in image tags.
  • Case insensitive member search.
  • Fix crash on global profiles.
  • Fix crash on incomplete identity keys.
  • Fix message notification format on Windows.
  • Fix room members menu opening profiles for the wrong room.


Requires mtxclient 0.8.1 and fixes a few crashes that can be abused by remote

(Binaries have been rebuilt on 2022-09-10 to fix a crash in the mtxclient dependency)


22 Jul 17:09
Choose a tag to compare

[0.10.0] -- 2022-07-22


  • Notification counts 💯 (LorenDB, d42)
    • You can now see notification counts in more spaces, like your task bar or in
      the community sidebar.
    • For better work-life balance you can hide the notification counts on a per
      space basis.
    • For notification counts in the task bar your desktop environment needs to
      support the Unity protocol.
    • Notifications are also preserved across restarts now.
  • Moderation 👮‍♀️
    • You can now change the permissions and aliases of a room.
    • Permissions are shown in the Memberlist
    • A new /redact command to redact an event or all messages by a user.
    • You can now provide a reason when inviting, knocking, kicking and banning
  • Faster startup ⚡
    • On at least some systems startup should now be instant even with thousands
      of rooms.
  • Encryption improvements 🛡️
    • Support for the most recent changes to Matrix E2EE including fallback keys,
      no longer relying on the sender_key.
    • Compatibility and stability improvements when dealing with different base64
      encodings and when verifying users and devices.
    • Fetch the whole online key backup at the klick of a button.
  • Integration with external apps 🗺️ (LorenDB)
    • Nheko now has a D-Bus API, which you can enable in the settings menu.
    • This allows applications like KRunner or Rofi to list and switch between


  • Create a room link from a room. (brausepulver)
  • Support rendering policy rules.
  • Show notification counts for spaces (with options to disable them per space).
  • Keep notification counts across restarts.
  • Support the new call events (but not the signaling yet). (r0hit)
  • Add a dbus API, which allows external applications to list and switch rooms in
    Nheko. (LorenDB)
  • Support editing room aliases.
  • Support editing room permissions.
  • Allow redacting all locally cached messages of a user using /redact @userid:server.tld reason.
  • Request full online key backup when toggling the online backup button.
  • Support the knock_restricted join rule.
  • Allow cancelling uploads using escape. (r0hit)
  • Send images on enter.
  • Close image viewer when clicking on the background.
  • Speedup startup by not loading messages for the room preview.
  • Make settings slightly narrower.
  • Show unread counts in the taskbar (if the Unity protocol is supported). (d42)
  • Indicate if a room has no topic in the settings. (LorenDB)
  • Simplify Fedora build instructions. (DaKnig)
  • Support e2ee fallback keys.
  • Allow opening rooms in separate windows.
  • Support more image formats in flatpak.
  • Show powerlevels in the memberlist.
  • Use less exotic emoji shortcodes. (Bulby)
  • Support sorting and filtering the memberlist. (LorenDB)
  • Make initial spinner half transparent. (LorenDB)
  • Fancier rendering for image pack changes. (tastytea)
  • Allow accessing member list and room settings for spaces. (LorenDB)
  • Add zsh completions. (tastytea)
  • Fancy rendering for Powerlevel changes. (MTRNord)
  • Make sender_key in encrypted messages optional.
  • Close current room using Ctrl-W. (LorenDB)
  • Allow knocking on failed room joins.
  • Allow knocking via urls.
  • Allow specifying reasons for every room membership change.
  • Make room name and topic editing inline.
  • Add a jump to bottom button. (Malte)
  • Port room creation to qml. (Malte)
  • Streamline direct chat creation. (Malte)


  • Russian (Alexey Murz Korepov, Artem, Herecore, balsoft, librehacker,
    glebasson, Mihail Iosilevich)
  • Chinese (Nekogawa Mio, Poesty Li, Reiuji Utsuho, hulb, ling, RainSlide, hosxy)
  • German
  • Dutch (Jaron Viëtor)
  • Finnish (Lurkki, Aminda)
  • Indonesian (Linerly)
  • Estonian (Priit)
  • French (Symphorien, Glandos, Eldred)
  • Serbian (Miroslav)


  • Fix verification requests not stopping properly when initiated from this
  • Don't send markdown links in replies.
  • Make the database work on 32bit systems again. (MayeulC)
  • Add missing window decoration to room directory dialog on macOS.
  • Don't crash on empty image packs.
  • Fix spacing of encryption indicator in the room tite if it contains widgets.
  • Emojis during verification should no longer be clipped.
  • Don't ping the whole room when replying to users with a localpart of room.
  • Make icons sharp on all platforms. (q234rty)
  • Work around synapse not sending the original resolution when requesting large
    thumbnails to make large thumbnails less blurry. (brausepulver)
  • Fix weak symbols from private object destructor. (Jason)
  • Fix failed uploads not cancelling properly.
  • Edits now properly update in replies again.
  • Improve text paste experience. (Syldra)
  • Pins should now properly update when the events are fetched.
  • Support latest iteration of the hidden read receipts MSC.
  • Fix cursor movement with some themes. (Syldra)
  • Properly handle glare during verification.
  • Set an Element Android compatible height for custom emotes.
  • Don't crash because of reusing items in completer on some platforms.
  • Fix the privacy screen on popped out windows.
  • Properly scale animated images.
  • Don't clip pinned messages.
  • Use correct powerlevels for direct chats.
  • Properly close cursors before committing txn.
  • Don't fail if a different client used the wrong base64 encoding when setting
    up SSSS.
  • Spaces usually aren't DMs. (LorenDB)
  • Don't send invalid aliases to the server on room creation. (Apurv)
  • Fix invite dialog.


This release requires Matrix API v1.1-v1.3. Please make sure your server is up
to date.

This release limits the maximum connections per host to 8. For best performance
we recommend your server supports http/2 so that slow requests don't slow down
other parts of the app (like sending messages).

Nheko now has KRunner and Rofi plugins (developed by LorenDB and LordMZTE


25 Mar 01:29
Choose a tag to compare


  • New upload UX
    • Queue multiple uploads by pasting or dragging multiple files.
    • Videos will now properly have a thumbnail as well as images.
    • Duration, width and height is now also properly included so that clients can resize appropriately.
    • Thumbnails are excluded if they are bigger than the original image. (tastytea)
  • Improvements for mobile devices (Malte E)
    • You should now be able to scroll by touching anywhere with no random dead zones.
    • Preedit text can now be used in a completer and is properly sent
    • If an input method is active, pressing Enter will not send the current message.


  • Optionally always open videos and images in an external program. (math)


  • Build macOS releases against Qt 5.15.3 to resolve missing spaces after some punctuation.
  • Send the shortcode as the body for stickers without a body.
  • Elide long usernames in the timeline. (Malte E)
  • Cleanup the reply popup. (Malte E)
  • Use standard buttons where possible. (tastytea)
  • Various improvements to the bubble layout. (Malte E)
  • Enable online key backup by default.
  • Update the bundled gstreamer in our Flatpaks.


  • Indonesian (Linerly)
  • Estonian (Priit)
  • Finnish (Priit)
  • Esperanto (Tirifto)


  • Fix hovering the action menu.
  • Try to avoid using unknown UIA flows.
  • Don't Components actively in use.
  • Fix screensharing.
  • Fix device id when doing SSO logins.


09 Mar 22:47
Choose a tag to compare

[0.9.2] -- 2022-03-09


  • Message bubbles (Malte E) 💬
    • Give a colorful and space saving background to messages.
    • Optionally shrink the usernames to save even more space.
    • Your messages are on the opposite side of messages sent by other users.
  • Basic widgets 🗔
    • Widgets in a room are shown below the topic.
    • Open them in your browser to view them.


  • Autocompleter for custom emotes using ~. Note that this currently inserts raw html into the message input.
  • Support running Nheko without a secrets service using a hidden setting.
  • Add zooming and panning to the image overlay.
  • Add a manpage. (tastytea)
  • Offline indicator. (LorenDB)
  • Proper previews for unjoined rooms in spaces (on supported servers).
  • /reset-state /command to reset the state of a single room.
  • Allow hiding some events from the timeline. (tastytea)
  • Hidden read receipts. (Symphorien)
  • Open room members dialog when clicking the encryption indicator.
  • Click to copy room id. (Malte E)
  • Allow specifiying a reason for message removal, bans and kicks. (tastytea)


  • Speed up blurhash and jdenticon rendering.
  • Use fewer threads for image decoding reducing memory use.
  • Document secret service installation on Arch. (Marshall Lochbaum)
  • Make edits replace previous notifications for the same message on Linux.
  • Add alternatives for Alt-A as a shortcut on systems where that is already used.
  • Apply clang-tidy suggestions. (MTRNord)
  • Make custom emotes twice as high as the text to improve legibility. (tastytea)
  • Ensure high quality scaling is used for custom emotes. (tastytea)
  • Reduce allocations for the timeline by around a factor of 2.
  • Render messages half as often, when displaying them for the first time.
  • Increase maximum number of items in completers to 30.
  • Run the gstreamer event loop also on macOS and Windows.
  • Make presence update dynamically.
  • Cleanup the raw message dialog.
  • Make settings responsive.
  • Improve Login and Registration pages.
  • Add custom stickers & emotes to Q&A.
  • Improve scrolling on touch screens. (Malte E)
  • Reduce size of state events.
  • Update OpenSUSE install instructions. (LorenDB)
  • Use newer flatpak runtime.
  • Fallback to using the shortcode in custom emotes, when there is no title set. (Ivan Pavluk)
  • Improve a lot of hovering behaviours.
  • Make spinboxes in scrollable pages unscrollable. (Malte E)
  • Fix deprecation warnings in gstreamer code. (Scow)
  • Make room directory fit mobile screens. (Malte E)
  • Make room search accessible on mobile. (Malte E)
  • Fix calls on mobile.
  • Add arch binary repo. (digital-mystik)
  • Improve long topics in the room settings. (Malte E)
  • Fix typos. (ISSOtm)
  • Improve the message input on mobile devices. (Malte E)


  • Indonesian (Linerly)
  • Spanish (Lluise, Diego Collado, Richard, Edd Ludd, Drake)
  • Catalan (Edd Ludd)
  • French (ISSOtm)
  • Estonian (Priit)
  • Dutch (Thulinma)
  • Chinese (hulb)


  • Wrap member events.
  • Fix rendering of some emoji.
  • Fix crash when accepting invites.
  • Don't fail startup on servers without presence.
  • Fix grayscale images in notifications when using dunst.
  • Clear sticker search. (tastytea)
  • Limit width of username and roomname in the respective settings.
  • Application name on Wayland.
  • Memory leak when closing dialogs.
  • Fix editing pending messages.
  • Fix missing Windows runtime. (MTRNord)
  • Fix a long standing issue where the font was set to a random one instead of the system default.
  • Allow clicking on images in replies to scroll to that image again.
  • Don't force https, when logging into a http only server.


24 Feb 03:57
Choose a tag to compare

[0.9.1-1] -- 2021-02-24

  • Rebuild against newer mtxclient to fix an incompatibility with Matrix v1.1 and newer.

If you use the binary packages for macOS or Windows, you will need this update.
Otherwise you can just wait for your distribution to update the mtxclient
package instead.