Releases: allansomensi/openhx
v0.2.1
v0.2.1 - Reliability Fixes & Helix Floor Support 🛠️
This release focuses on improving USB communication stability, correcting hardware-specific boundaries, and introduces early support for the Helix Floor. A special thanks to @jonrichards for his contributions to this patch!
✨ New Features & Improvements
🎛️ Partial Helix Floor Support
Added initial hardware support and definitions for the Helix Floor. (PR #5 - by @jonrichards)
🐛 Bug Fixes
🔌 Serialized USB Access
Fixed LIBUSB_ERROR_ACCESS crashes caused by concurrent USB operations (such as preset polling, disconnect checks, and user actions) racing to claim the interface. All device access is now safely serialized through a shared cached DeviceClient guarded by a mutex. This includes cache invalidation on error, ensuring the next call reconnects cleanly. (PR #1 - by @jonrichards)
🗑️ Pending Notification Drain
Fixed a buffer collision issue where select_preset_impl failed to drain post-CHANGE_PRESET notifications before returning. Pending bursts are now properly drained, ensuring the buffer remains clean for the next operation.
🎛️ HX Stomp Preset Count
Corrected the maximum preset boundary for the HX Stomp hardware. The total preset count is now correctly set to 126, fixing the previous limit of 128. (Issue #3 - by @jonrichards)
📦 Installation
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/allansomensi/openhx/releases/download/v0.2.1/openhx-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/allansomensi/openhx/releases/download/v0.2.1/openhx-installer.ps1 | iex"📥 Download OpenHX 0.2.1
| File | Platform | Checksum |
|---|---|---|
| openhx-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| openhx-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| openhx-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| openhx-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| openhx-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| openhx-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.2.0
v0.2.0 - GUI Preset Selection 🎯
This release introduces interactive preset selection to the graphical interface, adds custom branding to the Windows installer, and includes debug logs for easier troubleshooting.
✨ New Features & Improvements
✅ Preset selection (CLI + GUI)
You can now select a specific preset directly from the graphical interface. Simply clicking on a preset in the desktop window will activate it on your connected device.
🪲 GUI Debug Logging
Introduced comprehensive debug logging to the GUI application to facilitate state tracking, diagnostics, and troubleshooting.
🪟 Custom Windows Installer (.msi)
The Windows installation experience has been upgraded. The .msi package now features a custom banner and application icon.
📦 Installation
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/allansomensi/openhx/releases/download/v0.2.0/openhx-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/allansomensi/openhx/releases/download/v0.2.0/openhx-installer.ps1 | iex"📥 Download OpenHX 0.2.0
| File | Platform | Checksum |
|---|---|---|
| openhx-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| openhx-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| openhx-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| openhx-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| openhx-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| openhx-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
v0.1.0
v0.1.0 - First Public Release! 🎉
⚠️ This is an early, incomplete release. OpenHX is under development. Most planned features are not yet implemented. Expect breaking changes in future versions. Use at your own risk.
This initial release establishes the foundation: a working USB protocol implementation, a functional CLI, and a basic GUI.
✨ Core Features
✅ Preset listing (CLI + GUI)
The only fully implemented feature in this release is reading all 128 preset names from a connected device.
CLI usage:
# Auto-detect any supported device
openhx-cli preset list
# Target a specific device
openhx-cli preset list --device hx-stomp-xlGUI: Launches a desktop window that automatically polls for a connected device and displays the full preset list when found.
✅ Preset selection (CLI only)
You can now select a specific preset directly from the command line. Support for this feature in the GUI is not yet available.
CLI usage:
# Select a specific preset by its number
openhx-cli preset select --preset 122📚 Protocol documentation
The complete reverse-engineered USB protocol is documented in docs/protocol/, covering session handshake, transport layer, preset listing, preset selection, data format, packet reference, error recovery, and implementation notes.
🌐 i18n support
All user-facing strings are fully localized in en and pt-BR from day one.
📦 Installation
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/allansomensi/openhx/releases/download/v0.1.0/openhx-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/allansomensi/openhx/releases/download/v0.1.0/openhx-installer.ps1 | iex"📥 Download OpenHX 0.1.0
| File | Platform | Checksum |
|---|---|---|
| openhx-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| openhx-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| openhx-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| openhx-x86_64-pc-windows-msvc.msi | x64 Windows | checksum |
| openhx-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| openhx-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |