Repository navigation
Releases
v0.5.33 fix bugs
What's New
🖥️ Linux Video Pipeline (GStreamer)
- Fixed the black screen on Linux: when the native video overlay is unavailable, frames are now presented through VideoPane instead of a dead overlay window
- Pipeline candidates now relax the source caps when the camera yields no frames, so the capture chip negotiates a format that actually delivers video
- Fixed GStreamer probe handler lifetime (
post-starthandler is now captured correctly across candidate retries)
🖱️ Mouse Accuracy
- Absolute-mode mouse mapping now excludes the capture chip's black bars, so pointer position and clicks line up with the visible image
- Mouse tracking is enabled on the VideoPane viewport, so movement is reported without holding a button
🐛 Bug Fixes
USB Switch (PR #661)
- Restored physical USB switch detection and the HID functions that had been disabled
- USB switch UI state now stays in sync with the device after switching
- Factory reset is now thread-safe, fixing the low-baudrate test failure
Linux Packaging & CI
- Bundled the missing GStreamer elements (
videoconvert,videoscale,videotestsrc) into the AppImage, deb and rpm builds - RPM bundling now uses multiarch library directories, which fixes packaging on arm64/multiarch hosts
- Windows builds take libusb from the
ucrt64repo instead of the removedmingw64package
Contributors
v0.5.32 - Multi-Language Keyboard & Stability Fixes
What's New
⌨️ Multi-Language Keyboard Support
- Added Italian, Norwegian, Finnish, Swiss German (QWERTZ), and Swiss French (AZERTY) keyboard layouts
- Enhanced virtual keyboard appearance with realistic design and finger zone colors
🖥️ EDID Improvements
- Display EDID name in device menu, selector, window title, and system status
- Added
edid_infoandedid_setMCP tools for EDID identity management - Shared EdidSettingsManager with read-back verification
🤖 AI Chat Enhancements
- Added web search tool for real-time internet information lookup
- Added BIOS/UEFI and TextUI target OS options with auto-environment detection
- Magic wand toolbar button for quick access
- Improved chat bubble spacing and rendering efficiency
🔧 Other Features
- ShortcutManager: one-key toggle to enable/disable global shortcuts
- DeviceAccessGuard: RAII exclusive access for firmware operations
- Cooperative cancellation support for firmware operations
🐛 Bug Fixes
Serial & Keyboard
- Auto-recover CH9329 baudrate after abnormal USB disconnect
- Auto-reconnect and resume text transfer after USB disconnect (up to 30s)
- Run all QSerialPort I/O on serial worker thread to prevent crashes
- Release keys on focus loss and improve keyboard logging
- Fix AZERTY_BE layout typing and paste mapping
Build & CI
- Fix missing EDID source files in .pro (Linux build failure)
- Fix missing source files in CMake build
- Fix OpenCV 5 include for cv::boundingRect
- Remove non-existent libusb package from Windows builds
- Fix Windows ARM64 build errors (rand_s, errno.h)
AI Chat
- Fix empty tool_calls when AI uses OpenAI function calling format
- Fix screenshot and OCR file storage path
- Fix web search TLS connection issue
- Fix planner mode logging and tool updates
- Fix chat window positioning
Linux
- Fix crash from invalid qBound bounds in multi-monitor setup
- Fix quit-time warnings (Tesseract ObjectCache leak, timer thread error)
- Fix logging categories not appearing in preferences
Other
- Fix TCP server client lifetime and bind to loopback by default
- Fix VideoPane detached thread (replace with context-bound QTimer)
- Fix hotplug handling to prevent unit takeover
- Improve BIOS focus detector accuracy and UI
Contributors
@kevinzjpeng, @csillag, @atomicdog, @arbaes, @IkerGarcia, @TSTC123, @coryleeio
v0.5.31
What's New
🤖 AI Chat
- Added web search tool for real-time internet information lookup with multi-provider support
- Added BIOS/UEFI and TextUI target OS options with auto-environment detection
- Redesigned UI with magic wand toolbar button
- Improved chat bubble spacing and rendering efficiency
- Added AI Chat logging category to preferences
- Added
detect_cursorandweb_searchto tool configuration
⌨️ ShortcutManager
- Added one-key toggle to enable/disable global shortcuts
🔧 MCP Server
- Added
keymod_scanandkeymod_flashMCP tools
🐧 Linux & Packaging
- Added Fedora installation guide
🐛 Bug Fixes
AI Chat
- Fixed empty
tool_callswhen AI uses OpenAI function calling format - Fixed screenshot and OCR file storage path (
/tmp/openterfacesubdirectory) - Fixed web search TLS connection issue
- Fixed planner mode logging and tool updates
- Reduced heading font size in Tool Result messages
- Formatted Terminal Output section with bold headings
- Fixed chat window positioning using
frameGeometry
Build
- Fixed OpenCV 5 include for
cv::boundingRectin screenAnalyzer - Fixed missing
ChatSchedulerPersistencesource files in CMake build - Fixed missing source files in CMake build
- Fixed include path for
bios_focus_detector.hin screenAnalyzer - Added missing
isInitialDiscoveryparameter toupdateSessionFromDeviceInfo
Camera & Video
- Fixed CameraManager use-after-free on device switch (deferred retry lifetime)
- Fixed FFmpeg V4L2 backend hanging on device's first frame (bounded wait)
- Fixed FFmpeg backend not emitting
frameReceivedsignal - Fixed VideoHid HID path cache invalidation on port chain change
- Fixed LinuxHIDTransport opening wrong device
- Fixed CameraManager running serial-recovery restart before first frame
- Fixed frame timeout detection (Windows-only dialog)
- Fixed Media Foundation video capture (color, FPS counter, device init)
Serial & Keyboard
- Fixed keyboard handling: sticky keys and focus loss
- Auto-recovery when CH9329 reverts to 9600 baud after abnormal USB disconnect
- Auto-reconnect and resume text transfer after USB disconnect (up to 30s)
- Fixed
workingBaudratebeing overwritten by staleQSettingsvalues - Added
CMD_RESETafterCMD_SET_PARA_CFGto ensure config persistence - Added 50ms Flash write delay for reliable configuration
- Added baudrate change command response validation
Linux
- Fixed Wayland crash and serial permission failures
- Fixed use-after-free in udev parent device traversal
- Fixed HID communication on Linux
- Fixed RPM
libbz2.so.1.0self-referential symlink - Fixed DEB bundled libs and ARM support
- Fixed
install-release.shwrapper logic and VERSION env var support
MCP
- Fixed SSE transport client disconnect during session creation
- Fixed
m_cameraManagernot explicitly initialized to nullptr - Fixed
SharedToolExecutorCameraManager initialization for MCP
Other
- Fixed crash from invalid
qBoundbounds in multi-monitor setup - Fixed firmware flash bugs
- Fixed target reboot issue on KVMGO
- Fixed
Qt::UniqueConnectionlambda compatibility - Fixed AutoUic/AutoMoc build warnings
Contributors
v0.5.30 Add some feature & Fix known issues
Change Log
Features
- feat: add AI Chat integration with OpenAI-compatible backend
- feat: add frame timeout detection with camera permission warning
- feat: add comprehensive MCP server improvements (SSE transport, screen analysis, keyboard/mouse tools)
- feat(archlinux): add Arch Linux package and CI build workflow
- feat(tests): add Jenkins soak test runner for NanoPi agent
- feat(FirmwarePage): implement async firmware version fetching and fix flash bugs
- feat: add inputs for signing AMD64/ARM64 installers and portables
Fix known issue
- fix(gstreamer): fix false "no video signal" warning and trace frame signal flow
- fix(mf): fix Media Foundation video capture (color, FPS counter, device init)
- fix(qmake): align win32 build with cmake, fix 0xC0000409 crash
- fix: replace lambda with member functions for Qt::UniqueConnection compatibility
- fix: make frame timeout dialog Windows-only; use eventFilter for palette change detection
- fix(build): resolve AutoUic/AutoMoc warnings, guard getLatestOriginalFrame per-platform, replace POSIX setenv with qputenv
- fix(ffmpeg): override recording methods; drop double deep copy per TurboJPEG frame
- fix(linux): fix use-after-free in udev traversal, Wayland crash, serial permission failures, and HID communication
- fix(rpm): fix libbz2 symlink in %post; replace mv with cp+sync to prevent 0-byte artifacts
- fix(deb): use full ldconfig path, remove bundled libs from Depends, bundle required libs for ARM
- fix: statusbar improvements, prevent stale "Port disconnected" messages
- fix: add if conditions to signing steps; skip artifact download on cache hit
- fix: fix target reboot on KVMGO, UI issues, preference button readability, keyboard usage bug
- fix(archlinux): disable Qt6 deploy, fix source tarball exclusion, use system libraries
- fix(tests): set Qt env from AppDir, fall back to build job workspace, remove read-only symlinks
Documentation
- docs: add comprehensive Fedora installation guide; add Windows 11 ARM64 support
- docs(archlinux): add installation guide and update download URL
- docs: clarify glibc >= 2.32 and Qt6 minimum OS requirements; fix outdated udev rules
- docs: add hotplug test framework design document; use RELEASE_VERSION env var in install instructions
CI/CD
- ci: disable Docker Test workflows on pull_request; manage Arch Linux build triggers
Refactoring
- refactor(mcp): replace fprintf debug prints with qCDebug categorized logging
- refactor: split sign-windows into 4 parallel signing jobs
- refactor: improve SerialPortManager code organization
Chores
- chore: ignore Qt generated files; improve soak test and add gitignore for test artifacts
- Add reset command and delay in stress test start/finish
New Contributors
- @dionorgua made their first contribution
Full Changelog: v0.5.29...0.5.30
v0.5.28 Bug Fixes
What's Changed
Debian Package Fixes
- ️ Fixed
ldconfigpath in preinst script — now uses the full/sbin/ldconfigfor better compatibility - Removed bundled libs from
Dependsfield and preinst checks — cleaner packaging - Bundled
libpcre2-16and XCB utility libs for ARM builds — improved ARM support - Cleaned up redundant bundled lib declarations in
Depends
Bug Fixes & Improvements
- ️ Fix outdated firmware-update instructions in the environment setup dialog — @csillag (#579)
- ️ Fix keyboard input not working — @Chow411 (#582)
- Fix unreadable preference button on Linux — @Chow411 (#583)
- ️ Fix miscellaneous UI issues — @Chow411 (#584)
New Features
New Contributors
Welcome aboard!
- @csillag made their first contribution — thank you for jumping in with the firmware dialog fix and the new MCP tools! (#579, #580)
Full Changelog: 0.5.27...0.5.28
Release v0.5.27: Enhanced Firmware Page & Build Improvements
📝 Release Notes: Version 0.5.27
🚀 What's Changed
✨ New Features & Improvements
- Firmware Flashing Docs: Added comprehensive documentation for firmware flashing. Thanks, @Chow411! 📖
- Mouse Scroll Support: Implemented mouse scrolling functionality. Great work, @Chris-HJL! 🖱️
- Async Firmware Fetching: Implemented asynchronous firmware version fetching in the FirmwarePage for a smoother experience. Thanks, @Chow411! ⚡
- Soak Test Script: Added a new script for soak testing to ensure long-term stability. Thanks, @kevinzjpeng! 🧪
- Build & Compiler Fixes: Fixed all compiler warnings and improved the overall build process. Thanks, @kevinzjpeng! 🛠️
- GitHub Actions: Resolved build errors in our GitHub Actions workflow. Thanks, @kevinzjpeng! 🤖
- NixOS Update: Updated the flake to
nixos-26.05. Thanks to our new contributor, @justinas! 🐧 - Key Capture Logic: Updated the key capture filter to check for keyboard focus instead of just the active window for better reliability. Thanks, @Chow411! ⌨️
🐛 Bug Fixes
- General Bug Fixes: Various bug fixes to improve overall stability. Thanks, @Chow411! 🧹
- X11 Focus Loop: Resolved an infinite focus grab/ungrab loop that was causing the app to hang on startup in X11 environments. Thanks, @kevinzjpeng! 🔄
- SystemKeyBlocker: Included the
QWidgetheader to ensure proper functionality. Thanks, @Chow411! 🔧
🌟 New Contributors
A warm welcome to our newest contributor!
Full Changelog: <0.5.26...0.5.27>
v0.5.26
🚀 Release v0.5.26
✨ What's Changed
📜 Full Changelog
You can view the complete list of changes here:
v0.5.26...0.5.26
v0.5.25
🚀 Release v0.5.25
✨ What's Changed
-
System Key Blocker & UI Fixes
Added a new system key blocker to prevent unwanted inputs and resolved various display issues.
(PR #556 by @Chow411) -
TCP Server & Key Input Fixes
Addressed bugs related to the TCP server and improved key input handling.
(PR #555 by @Chris-HJL)
📜 Full Changelog
You can view the complete list of changes here:
[Compare 0.5.24...0.5.25](0.5.24...0.5.25)
v0.5.24
New Features
- ARM64 Build Optimizations: Comprehensive optimizations and bug fixes for ARM64 architecture builds.
- GUI Soak Test Automation: Introduced automated GUI soak testing to ensure long-running system stability.
- ARM Slim Image Enhancements: Added
rpmandflatpak-builderto the ARM slim image for better build support.
Bug Fixes
- Linux HW Acceleration: Added
libXvtoFFmpeg HWACCEL_LIBRARIESto fix hardware acceleration issues on Linux. - DEB Build Script: Resolved an issue with handling multiple build paths.
- ARM Slim Image & RPM: Added
patchelfto the ARM slim image and fixed RPM build path detection. - RPM Installation Logic: Improved handling of multiple build paths; now correctly skips RPM installation if already present.
- UI Stability: Fixed 3 UI bugs identified during recent soak test results.
- Keyboard Layout: Corrected UK keyboard layout matching.
- Script Tool: Fixed an issue preventing the use of combined keys in the script tool.
v0.5.23
🐛 Bug Fixes
- Fix UK Keyboard Layout: Resolved key mapping issues for the UK keyboard layout to ensure accurate input.
✨ Features
- Added Floating Window: Convenient operations such as full-screen zoom in/out for small screen users.
- Added Viewport Navigation Shortcuts for Fullscreen: Allows users to freely move and adjust the viewport using shift + arrow key while in fullscreen mode.
⚠️ Hotfix
Problem: "Unable to locate program input point" (DLL error) on Windows.
Cause: This is an installer packaging issue only. The core code remains unchanged from the previous stable version.
Status: We are preparing a hotfix installer. now just download & insatll openterfaceQT_windows_amd64_installer.exe