Synergy logoSynergy logo

Release notes

Synergy 1

v1.21.3 (September 23, 2026)

Bug fixes

  • Restored your screen layout and the "All users" setting when upgrading from an earlier version, so your existing configuration carries over instead of being lost.
  • Corrected the Windows installer so it upgrades an existing Synergy installation in place rather than leaving an older copy behind.

v1.21.2 (September 23, 2026)

Security

  • CVE-2026-63409: an options message with an odd-length list from a malicious server caused an out-of-bounds read in the client.
  • CVE-2026-65832: a modifier mapping from a malicious server pointed outside the client's modifier table and caused an out-of-bounds read.
  • CVE-2026-65976: clipboard data from a connected computer was accepted beyond the declared and configured size limits, so a peer could grow memory without bound.
  • GHSA-vxgx-6p4m-fv83: a single-byte keyboard layout message from a malicious server terminated the client with an uncaught exception.

Bug fixes

Windows

  • A modifier key held while crossing from a client back to a Windows server is no longer left pressed on the client after it is released.
  • Shift+Space and Ctrl+Space reach a macOS client when the Korean input method is active on the Windows server.
  • Encrypted connections no longer hold a processor core at full use after a deferred write, which large clipboard transfers caused.
  • Upgrading while the app is running no longer prompts for a reboot; the installer closes the running app and Core before replacing files, including those from the 1.14 line.
  • Fixed a case where an image copied on a macOS server did not paste on a Windows client.
  • Fixed a crash converting a top-down clipboard image on screen switch.
  • Fixed a one-byte buffer overwrite and an out-of-range read when looking up a loaded module.

macOS

  • Clicks bring a background application to the foreground on macOS 27, and windows can be dragged by their title bar.
  • Right Option, Right Command, Right Control and Right Shift arrive on a macOS client as right-hand keys rather than left-hand ones.
  • Punctuation typed on a macOS server with a Chinese or Japanese input method active arrives on clients as ASCII punctuation rather than the input method's.
  • Fixed a cause of wrong symbols on a Japanese keyboard layout with a Windows server and a macOS client, including after a reconnect.
  • Mouse movement while the cursor is on a client no longer reaches the application under the server's cursor.
  • Fixed a multi-display macOS server switching back to itself within a second or two of the cursor crossing to a client.
  • The server's cursor is no longer enlarged by shake to locate while the mouse is being used on a client.
  • Cmd+Q and Quit from the Dock or application menu follow the close to tray setting. A system shutdown, restart or log out still quits.
  • The main window keeps its normal appearance when it loses focus instead of darkening.
  • Memory no longer grows for the life of the process during long sessions.
  • An event tap registration is no longer leaked each time a client connects and disconnects.
  • Fixed a crash at startup or on layout switch when an input source reports no languages.

Linux and Wayland

  • Portal sessions are created or restored only once the desktop is unlocked and awake, so the input capture permission dialog is not shown again after lock or suspend, and the server reconnects instead of quitting when the compositor closes the session.
  • Input capture no longer asks for permission again after the display wakes from power saving.
  • The saved portal session is kept on compositors that never report the clipboard as enabled, instead of prompting for permission on every start.
  • Changing the clipboard sharing setting clears the saved portal decision, so clipboard access is asked for again.
  • Fixed the cursor snapping to the left edge of the client and getting stuck when the Wayland server is placed to the right of it.
  • The cursor can leave a multi-monitor Wayland server; capture barriers are placed only on the outer edge of the combined monitors.
  • The cursor returns to the matching position on a multi-monitor Wayland server rather than shifted or on another monitor.
  • The cursor no longer jumps to the centre of the screen when the compositor recreates its input devices, for example when the brightness or volume popup opens.
  • Held mouse buttons are tracked on a Wayland server, so a drag no longer switches screens part way through.
  • Each hotkey on a Wayland server triggers its own action rather than the first one registered.
  • A Wayland client releases its input grab when idle, so its display can sleep or lock.
  • The numpad no longer needs NumLock re-enabling after each switch to a client from a Wayland server.
  • A Wayland client accumulates scroll steps smaller than one wheel click into whole clicks instead of dropping them.
  • Keys held from the server are released before an X11 client applies a refreshed keyboard map, so a modifier is not left stuck when the layout changes.
  • Fixed a deadlock in the X11 clipboard.
  • Fixed a "pure virtual method called" abort when a Wayland server fails to start, for example when the port is already in use.
  • Fixed a small memory leak each time the compositor closed and reopened the input session.
  • The client retries instead of crashing when the server hostname does not resolve.
  • Releasing sleep prevention before it was requested no longer logs an error.
  • The Flatpak build reports its release version and no longer carries a Development Build label.

All computers

  • Scroll steps smaller than one wheel click are accumulated on the server into whole clicks, so mice that report small steps scroll on clients instead of the events being dropped.
  • Fixed a possible crash when a client disconnects, or the server stops, while a clipboard transfer is in progress.
  • Fixed a possible crash after a client disconnects during clipboard or screen-switch activity.
  • Fixed a possible crash when a client is disconnected because of a malformed message or protocol error.
  • The client and Core shut down in order at exit, so the server sees a disconnect instead of a timeout.
  • A truncated clipboard header is rejected before its format count is read.
  • Fixed the cursor jumping to the top-left corner on return to a client in relative mouse mode.
  • The app logs and recovers from a corrupt screen grid size, a missing certificate file or an unexpected Core state instead of exiting.
  • The log file is rotated to a .1 file at 1 MB instead of being deleted.
  • Screen aliases are no longer duplicated in the configuration each time a screen's settings are saved in Configure Server.
  • A configuration file path typed into Configure Server is saved, not only one chosen with Browse.
  • The client negotiates down to a server's older protocol version again and logs that it did so.
  • A settings file locked by an administrator is applied at launch again.
  • Upgrading from 1.20 or earlier keeps the log level instead of resetting it to Info.
  • Upgrading from 1.20 or earlier keeps elevation off where it had been set to Never.
  • Upgrading from 1.20 or earlier on Linux or macOS no longer turns on service mode, which left the Core unable to start.
  • Startup notices no longer block each other, which could leave the window unresponsive.
  • The certificate error names the directory that could not be created.
  • The All users settings scope is offered only where it can be written; before, selecting it showed an error at every launch and stopped the server when a client's fingerprint was accepted.
  • Closing the background service connection normally is no longer logged as an error.
  • Product activation carries across an upgrade from 1.20 or earlier, and the Start button responds after a declined start at launch.

Improvements

  • Hotkeys work on a Wayland server through the GlobalShortcuts portal. Needs libportal 0.11 or newer, with the app launched from its desktop file.
  • The update check is on by default rather than asked about at first launch. An existing choice is kept, and it can be turned off in settings.
  • Configure Server opens on the tab matching whether an external configuration file is in use.
  • Builds against OpenSSL 4.0.
  • Packages for Enterprise Linux 8, Debian 12, Ubuntu 22.04 and Manjaro.
  • Product activation happens once when the connection starts, with no periodic check afterwards; the wording for offline keys is clearer; and the window title no longer combines an edition with a product name that does not include it.

v1.21.1-beta (June 22, 2026)

Features

  • Clipboard sharing now works between machines on Wayland sessions, for both text and images, as long as the latest Wayland libraries are installed.

Enhancements

  • The Flatpak build now bundles the components needed for clipboard sharing, bringing the feature to Flatpak users on Wayland.

Bug fixes

  • Corrected a minor bug with the version number on the About screen, which was showing a build identifier twice.

v1.21.0-beta (June 18, 2026)

Security

  • CVE-2021-42072: Closed a gap where the server did not sufficiently verify connecting clients, which allowed an unauthorised computer on the network to connect.
  • CVE-2021-42073: Prevented an attacker from entering an active session by supplying a client name matching a configured computer, which would have given them input and clipboard access.
  • CVE-2021-42074: Fixed a race in TLS connection handling that could crash the server and disconnect every computer.
  • CVE-2021-42075: Corrected file descriptors not being closed for established connections, which a remote attacker could exhaust.
  • CVE-2021-42076: Stopped over-long messages from exhausting server memory.

Features

  • Clients can now be given several server addresses and will work through the list until one connects, improving reliability on changing or multi-network setups.
  • Replaced the unreliable scroll speed setting with a new scroll scaling control that gives smoother, more predictable scrolling between computers.
  • Added a dedicated client configuration dialog that gathers the client-side options into one place instead of scattering them across the interface.
  • Introduced an option to start already locked to the current computer, so input stays put until you choose to switch.
  • Built a simple search into the log view so you can find specific entries without scrolling through everything.
  • A new option can show the version number in the window title bar, making it easier to confirm which build is running.
  • Added translations for Korean, English, Spanish, Italian, Japanese, Korean, Russian, and Chinese (Simplified).

Enhancements

  • Fragile log parsing replaced with more robust IPC between Core and GUI.
  • Existing settings are carried across automatically when upgrading, so saved screen layouts and preferences are kept without reconfiguring.
  • The suggested server address is now more accurate and updates on its own as your network connection changes.
  • Connection error dialogs no longer appear while the window is hidden, keeping background running quiet.
  • Wording throughout the interface now refers to a "Computer" rather than a "Screen" to better match how the layout works.

Bug fixes

  • Made the back and forward mouse buttons work again on all platforms.
  • Corrected key repeat so a held key repeats as expected instead of registering as separate press and release events.
  • Recovered clipboard sharing that had stopped working, and resolved a related crash affecting it.
  • Stopped the application from crashing when a hotkey was not delivered to every connected computer.
  • Eliminated a possible crash the first time the background service started on Windows.
  • Repaired wrong character output on macOS when using the RIME input method.
  • Ensured the tray icon appears on macOS when the colourful icon style is selected.
  • Allowed commas and semicolons to be used within hotkey definitions, which previously could not be saved.

Open Source

Synergy stands on the work of countless upstream open source projects, from the libraries and toolchains we build with to the platform code that lets it run on every operating system. Thank you to everyone who has contributed to any of them, whether in code, documentation, testing, or support, and to everyone who has worked on the source code behind this release. We could not build Synergy without you, and we are grateful to be part of the community that makes this software possible.