github TechxArtisanStudio/Openterface_QT 0.5.12
v0.5.12 Enhanced Reliability, Diagnostics, and Multi-Platform Performance

10 hours ago

🧱 Architecture & Build System

  • Introduced Nix Flake support (#336)
  • Removed obsolete CI workflows (Clazy analysis, Flatpak build, etc.)
  • Optimized build scripts: enabled parallel jobs, cleaned up project structure, and added Debug configuration support (#435, #429, #421)
  • Refactored CMakeLists.txt for static linking on Windows with MinGW (#422)
  • Updated .gitignore to exclude temporary build artifacts (e.g., libusb-build-temp, debug.log)
  • Fixed openterfaceQT.pro to enable reliable source builds (#448)

🔌 Device Management & Hotplug

  • Improved device detection logic to prevent duplicate device entries (#470)
  • Refactored device enumeration: extracted WinDeviceEnumerator and enhanced cross-platform discovery (#133, #135)
  • Extended VID/PID mapping to support new devices like MS2109S, with better fallback handling on Linux (#469, #451)
  • Added platform-specific chip type identification in getChipTypeForDevice (#451)
  • Increased target hotplug timeout to 10 seconds for more reliable detection (#451, #452)
  • Fixed missing USB host-target status checks during connection validation (#431, #132)

📡 Serial Communication

  • Refactored SerialPortManager for robust initialization, opening, and closing across platforms (#468, #465, #464, #462, #141, #140)
  • Implemented platform-specific serial port cleanup (Windows/Linux) (#465)
  • Resolved serial port access issues after hotplug events (#464)
  • Added data validation and bounds checking to prevent buffer overflows (#445)
  • Unified serial-related logging under a dedicated category
  • Enabled asynchronous CMD_GET_INFO handling for more reliable baud rate detection
  • Fixed memory overflow issues in serial and FFmpeg backend components (#436)
  • Send auto-reset command before and after stress testing (#473)
  • Fixed usbstatuscheck timer not stopping properly (#471)
  • Stop active timers upon device disconnection to prevent crashes (merged #472 and #474)

🖥️ Video & Image Processing

  • Implemented hardware-accelerated decoding via TurboJPEG and CUDA in FFmpeg backend, with CPU fallback
  • Migrated all frame processing from QPixmap to QImage for improved thread safety and performance (#434, #436)
  • Moved video scaling logic into the FFmpeg backend and clamped output to viewport size (#429, #129)
  • Improved pixel scaling compatibility on Linux by switching format from RGB32 to BGRA
  • Added detailed timing logs for video frame updates to identify rendering bottlenecks
  • Disabled antialiasing in video rendering to reduce CPU/GPU load (#441)
  • Fixed mouse lag caused by CPU-based video rendering (#441)

🖱️ User Interface & Interaction

  • Added splash screen with SVG logo integration (#454)
  • Fixed application icon not updating correctly (#459)
  • Improved video pane resizing logic with a small delay to ensure layout stability after updates (#467)
  • Refactored recording controller: integrated status bar feedback and removed unused UI elements (#421)
  • Fixed mouse alignment issue with uConsole expansion card (#449)

🔧 Diagnostics & Firmware Management

  • Introduced hardware diagnostics dialog with serial port validation and optional GET_INFO suppression (#450, #139)
  • Fixed critical bugs in diagnostics dialog logic and serial checks (#455, #142)
  • Added low-baudrate communication test suite (#459)
  • Refactored high-baudrate test to attempt multiple rates with enhanced error reporting (#451)
  • Added firmware update support for MS2109S, including resolution and FPS readout (#143, #144)
  • Fixed Mini KVM firmware flashing failure (#143)
  • Implemented firmware manager for restore/write operations (#102)
  • Fixed missing progress bar during 2109 firmware writes (#458)

🐧 Cross-Platform Support (Linux / Windows)

  • Improved stability on Fedora (#461)
  • Fixed multiple Linux build errors across distributions (#430, #130, #131)
  • Corrected ARM64 package naming (#426)
  • Fixed Windows Portable build issues (resolved undefined symbols like impsetjmp) (#420, #128)
  • Added libusb-1.0.dll compatibility copy with verification in Windows builds (#440)
  • Enabled memory leak detection in Debug mode on Windows
  • Enhanced GStreamer plugin loading and multimedia backend priority handling (#424, GlobalSetting)

📦 Versioning & Release Automation

  • Refactored version parsing to cleanly separate APP_VERSION from Git tags (#458, #463)
  • Automated version bumping, Git tagging, and cross-platform build triggering via REST API dispatch
  • Standardized naming for Windows installer and portable executables (#438, #440)
  • Updated AppStream metainfo: fixed type errors and removed duplicate release entries (v0.5.8, v0.5.9)
  • Prepared Flatpak release assets
  • Version progression:
    0.5.7.338 → 0.5.8.005 → 0.5.9 → 0.5.9.006 → 0.5.11.015 → 0.5.12

🌍 Localization & Documentation

  • Added Spanish translation (#424)
  • Published uConsole debugging guide (including factory reset instructions)
  • Added VS Code launch configuration for easier debugging

✅ Summary of Improvements

  • Deduplicated overlapping fixes (e.g., device disconnection handling, hotplug timeout).
  • Standardized terminology: e.g., “serial port” instead of “com port”, “video pane” consistently capitalized.
  • Grouped by functional area to support maintainability and release note generation.
  • Highlighted user-facing changes (UI, diagnostics, firmware) separately from internal improvements.

Don't miss a new Openterface_QT release

NewReleases is sending notifications on new releases.