v1.24.0

paulpierre/markdown-crawlerv1.24.0Sep 11, 2025by github-actions[bot]

AI Summary

Unified the application architecture by consolidating client and server binaries into a single core binary, alongside improvements to logging and mouse handling.

Key Highlights

  • Unified core binary (removed separate deskflow-client/server)
  • Fixed mouse ghost gap delay on Windows client
  • Improved log level synchronization between GUI and core
  • Fixed crash when button size is smaller than max button

Breaking Changes

  • Removed deskflow-client and deskflow-server binaries (now only deskflow-core)

New Features

  • Unified core binary
  • SwitchToNextScreen hotkey
  • Enhanced log widget
  • Remote Desktop token persistence

Full Release Notes

## Known Issues
  - #8946 (This is fixed if you use the continuous version)
  - #8970 (This is fixed if you use the continuous version)

## Upgrade Notes
 - The log levels values in the gui have changed. Users may want to adjust the Log Level setting after upgrading.
 - The Binaries have changed we no longer have a `deskflow-client` or `deskflow-server` binary only `deskflow-core`.

## What's Changed
* build: fix cmake error with git version if no tags / git repo by @sithlord48 in https://github.com/deskflow/deskflow/pull/8785
* Fix mouse ghost gap (delay cursor show) bug on Windows client by @nbolton in https://github.com/deskflow/deskflow/pull/8790
* Sonar cleanup 9 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8779
* Sonar Cleanup 10 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8794
* Fix: Crash when m_buttons size is smaller than maxButton by @corossig in https://github.com/deskflow/deskflow/pull/8804
* Sonar Cleanup 11 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8800
* fix: server: initialize the m_protocol member with a default value by @chrschmidt in https://github.com/deskflow/deskflow/pull/8806
* Sonar cleanup 12 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8805
* refactor: show display version for --version by @sithlord48 in https://github.com/deskflow/deskflow/pull/8811
* Cleanup redundant log and unused includes by @nbolton in https://github.com/deskflow/deskflow/pull/8809
* Improve logging in `Server.cpp` by @nbolton in https://github.com/deskflow/deskflow/pull/8815
* ci: Use reuse-actionv5 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8817
* Sonar cleanup 13 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8810
* fix: update inclusion of climits and cstdint headers by @chewi in https://github.com/deskflow/deskflow/pull/8812
* chore: Improve logging for active sides by @nbolton in https://github.com/deskflow/deskflow/pull/8820
* refactor: Use cat directly when printing CI summary by @nbolton in https://github.com/deskflow/deskflow/pull/8822
* refactor: update log calls to LOG_ by @sithlord48 in https://github.com/deskflow/deskflow/pull/8823
* Show clang-format version and surface lint detail in PR comment by @nbolton in https://github.com/deskflow/deskflow/pull/8821
* fix: Account for more modifiers in the EI keymap calculation by @whot in https://github.com/deskflow/deskflow/pull/8814
* fix: MainWindow::setHostName potental error by @sithlord48 in https://github.com/deskflow/deskflow/pull/8837
* Exception rename by @sithlord48 in https://github.com/deskflow/deskflow/pull/8836
* Sonar cleanup 14 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8824
* Conform EI files to our naming convention by @sithlord48 in https://github.com/deskflow/deskflow/pull/8825
* docs: expand user configuration documentation by @sithlord48 in https://github.com/deskflow/deskflow/pull/8838
* Fix failures in big endian machines by @pranavkaruvally in https://github.com/deskflow/deskflow/pull/8851
* Use malloc to make IKEYState on win32 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8826
* GUI: Move the shown ip location, only show when in server mode by @sithlord48 in https://github.com/deskflow/deskflow/pull/8847
* Update REUSE.toml to generate more accurate indentiiers  by @sithlord48 in https://github.com/deskflow/deskflow/pull/8858
* fix: resolve issues with some swedish characters by @sithlord48 in https://github.com/deskflow/deskflow/pull/8856
* Sonar cleanup 15 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8861
* Clean up sub classes by @sithlord48 in https://github.com/deskflow/deskflow/pull/8863
* feat: Support Remote Desktop token persistance by @sithlord48 in https://github.com/deskflow/deskflow/pull/8865
* feat: Unified core binary by @sithlord48 in https://github.com/deskflow/deskflow/pull/8868
* Settings dialog updates by @sithlord48 in https://github.com/deskflow/deskflow/pull/8871
* MainWindow Slight gui update by @sithlord48 in https://github.com/deskflow/deskflow/pull/8873
* feat: Prevent core, client and or server from running at the same time by @sithlord48 in https://github.com/deskflow/deskflow/pull/8867
* Xdp rd portal missing parts by @sithlord48 in https://github.com/deskflow/deskflow/pull/8872
* various small fixes by @sithlord48 in https://github.com/deskflow/deskflow/pull/8876
* feat: Use `xkb_keymap_mod_get_mask` in EiKeyState if available by @nbolton in https://github.com/deskflow/deskflow/pull/8860
* Disable meta mod (fixes alt key bug) by @nbolton in https://github.com/deskflow/deskflow/pull/8881
* LogTests are now QTests by @sithlord48 in https://github.com/deskflow/deskflow/pull/8884
* refactor: EIKeyState, compare to the current state by @sithlord48 in https://github.com/deskflow/deskflow/pull/8892
* ci: use action checkout v5 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8894
* fix: Pass ClientScrollDirection to EiScreen by @coekfung in https://github.com/deskflow/deskflow/pull/8896
* Map hyper to super in EI mod map by @nbolton in https://github.com/deskflow/deskflow/pull/8882
* Do not check if tls is enabled before regenerating the cert by @sithlord48 in https://github.com/deskflow/deskflow/pull/8891
* Better FingerprintDialog UX by @sithlord48 in https://github.com/deskflow/deskflow/pull/8888
* Sync log level in gui and core by @sithlord48 in https://github.com/deskflow/deskflow/pull/8885
* Log test cleanup by @sithlord48 in https://github.com/deskflow/deskflow/pull/8902
* refactor: LogTests use private log member by @sithlord48 in https://github.com/deskflow/deskflow/pull/8903
* fix: missing IPC messages by @sithlord48 in https://github.com/deskflow/deskflow/pull/8906
* feat: Allow suppression of generic client connection error dialog by @sithlord48 in https://github.com/deskflow/deskflow/pull/8908
* fix: Use correct log function for process exit status in onProcessFinished by @nbolton in https://github.com/deskflow/deskflow/pull/8911
* refactor: Remove QProcessProxy and simplify CoreProcess by @nbolton in https://github.com/deskflow/deskflow/pull/8880
* feat: Add switchToNextScreen hotkey to cycle through computers by @KrisEnigma in https://github.com/deskflow/deskflow/pull/8904
* Sonar cleanup 15 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8914
* Settings reset on windows, create new profile dir when not in native mode by @sithlord48 in https://github.com/deskflow/deskflow/pull/8917
* refactor: New LogWidget to handle log output in the mainwindow by @sithlord48 in https://github.com/deskflow/deskflow/pull/8877
* Improve screen settings dialog by @sithlord48 in https://github.com/deskflow/deskflow/pull/8919
* Minor tweaks to std::mutex uses by @jwakely in https://github.com/deskflow/deskflow/pull/8922
* Sonar cleanup 16 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8923
* refactor: ScreenConfigDialog, make sure to populate the screen model after server config by @sithlord48 in https://github.com/deskflow/deskflow/pull/8930
* chore: Remove unused daemon installation and uninstallation methods by @nbolton in https://github.com/deskflow/deskflow/pull/8938
* fix: Prevent log visibility toggle when window is hidden by @nbolton in https://github.com/deskflow/deskflow/pull/8936
* fix: Adjust log level for unconfigured client as we react to this in the gui by @sithlord48 in https://github.com/deskflow/deskflow/pull/8939
* Begin to use QStrings by @sithlord48 in https://github.com/deskflow/deskflow/pull/8640
* docs: Simplify bug_report.yml to make it easier to use by @nbolton in https://github.com/deskflow/deskflow/pull/8942
* Better log dock by @sithlord48 in https://github.com/deskflow/deskflow/pull/8921
* refactor: Arch::getHostName(), use QSysInfo::machineHostname by @sithlord48 in https://github.com/deskflow/deskflow/pull/8943
* Sonar cleanup 17 by @sithlord48 in https://github.com/deskflow/deskflow/pull/8944

## New Contributors
* @corossig made their first contribution in https://github.com/deskflow/deskflow/pull/8804
* @chewi made their first contribution in https://github.com/deskflow/deskflow/pull/8812
* @pranavkaruvally made their first contribution in https://github.com/deskflow/deskflow/pull/8851
* @coekfung made their first contribution in https://github.com/deskflow/deskflow/pull/8896
* @KrisEnigma made their first contribution in https://github.com/deskflow/deskflow/pull/8904
* @jwakely made their first contribution in https://github.com/deskflow/deskflow/pull/8922

**Full Changelog**: https://github.com/deskflow/deskflow/compare/v1.23.0...v1.24.0