Releases: Zenardi/Synaptix
Releases · Zenardi/Synaptix
Synaptix v1.6.0
Synaptix v1.5.0
Synaptix v1.4.0
Synaptix v1.3.0
1.3.0 (2026-03-30)
Features
- ci: add Trivy security scanning workflow (91cb8d5), closes #14
- ci: integrate Trivy scans into main CI build-and-test job (12fb684)
Bug Fixes
- ci: add limit-severities-for-sarif to restrict exit-code to HIGH,CRITICAL (fd689e9), closes #14
- ci: add missing 'v' prefix to trivy-action version tag (22297e4)
- ci: upgrade trivy-action to v0.35.0 and upload-sarif to v4 (d58bef0)
Continuous Integration
- enforce node.js 24 across all CI actions (7b7c904)
Documentation
- readme: rephrase intro to remove openrazer reference (6544be0)
Synaptix v1.2.0
1.2.0 (2026-03-24)
Features
- daemon: implement Sidetone & HapticIntensity USB payloads and D-Bus routing (M21) (14696e0)
- daemon: M21 sidetone/haptic payloads with pid-based D-Bus routing (441ccf2)
- docs: update architecture diagram and add headset audio image (1f46b90)
- headset: standard battery query + Tauri mockIPC unit tests + WebDriver E2E setup (660a039)
- m20: device detail routing, headset UI, version bump to 1.2.0 (c840189), closes #44d62
- M23: dynamic USB interface routing via registry control_interface (baab4d8)
- M24: 64-byte haptic HID report for Kraken V4 Pro OLED Hub (549b000)
- add synaptix-probe binary + PID 0x056c registry entry (8478ee1)
- volume control via PipeWire (wpctl) + volume slider in AudioTab (4e22715)
- wire haptics/sidetone Tauri IPC commands (ac5ff32)
- tray: show headset battery alongside mouse in system tray (c27484e)
- ui: replace haptic slider with 4-level preset buttons (f2dc7af)
Bug Fixes
- registry: add HapticFeedback capability to Kraken V4 Pro receiver (0x0567) (f71dafd)
- test: wrap App renders in MemoryRouter for router context (b28310b)
- add Kraken V4 Pro headset detection to daemon startup (2d8c833)
- replace THX toggle switch with Stereo/THX mode selector (25002ff)
- route all HID write_control/read_control calls through dynamic wIndex (470ef55)
- battery: read headset response via interrupt IN ep=0x84, not GET_REPORT (89dc72d)
- battery: reject 0xFF response byte as garbage, validate cmd echo (3921acf)
- battery: replace hardcoded Full with real query + Unknown fallback (0f20748)
- daemon: parse cc=0x05/ci=0x00 headset status packets for battery (92ecc4e)
- daemon: register on D-Bus immediately; resolve headset battery in background (4585d5f)
- daemon: retry headset battery poll on startup + continue on interrupt error (81a746a)
- e2e: correct binary path, browserName=wry, robust CSS selectors (f2463ca)
- haptics: apply Wireshark-verified 64-byte protocol for Kraken V4 Pro (43b35e8)
- headset: add USB reset fallback to reactivate inactive relay hub (9d88619)
- headset: correct battery protocol from Wireshark ground truth (7c6b205)
- headset: correct battery read strategy for unbound ep=0x84 on Linux (a495619)
- headset: re-add Interface 2 wake trigger to unblock ep=0x84 push (a5fdf8e), closes #1
- headset: send OUTPUT trigger before read_interrupt to get battery (0f0da8f)
- headset: switch to passive push-packet listener for battery (cfa2a86)
- headset-battery: replace cc=0x07 with 90-byte Interface 2 wake query (6be3f9e)
- headset-battery: TDD active query + diagnostic logger for battery (c5aee06)
- protocol: omit Sensa HD frame marker when disabling haptics (668e348)
- ui: show error state in HapticsTab when daemon command fails (a330716)
- volume slider — use absolute wpctl path, initialize from system (91ab6cc)
Continuous Integration
- add E2E WebDriver tests to CI pipeline (63df1ce)
Tests
- ui: add TDD tests for Unknown battery state (headset) (ef039bc)
Documentation
- add TDD guidelines for new features and bug fixes (abb019c)
- readme: add Kraken V4 Pro to hardware table + expand Features section (2e79c53)
Code Refactoring
- ui: extract LightingControl and enforce SoC in DeviceDetail (9587150)
Synaptix v1.1.0
1.1.0 (2026-03-22)
Features
- detect and display device connection type (Wired/Dongle/Bluetooth) (3c4d219)
- real-time connection type detection (3-second polling) (a282d26)
- show charging badge + pulsing ring when USB cable active (4790ad4)
Bug Fixes
- 1s connection polling + smart wired battery query with retry (8fa0b07)
- auto-start synaptix-daemon.service if not running on UI launch (46e8c36)
- correct charging detection and eliminate false 0% battery (35d2e96)
- discard suspicious 0% battery readings (dongle+cable bug) (5c7603c)
- eliminate dead_code warnings for STATUS_* protocol constants (9f69ea2)
- hydrate DPI and lighting state from daemon on UI mount (b01acc3)
- preserve battery level when cable plugged in (wired = 0% bug) (f798adc)
- replace tokio::try_join!/select! with two independent spawn tasks (359860d)
- resolve all cargo clippy warnings (a0ff4d3)
- track cable presence separately for fast dongle+cable detection (e6db922)
- update package description to include project details and support link (ce6ac6f)
- validate USB response status byte — root cause of persistent 0% battery (f8e6586)
Styles
- apply cargo fmt (12bd9a6)
Synaptix v1.0.0
1.0.0 (2026-03-22)
⚠ BREAKING CHANGES
- → major bump (0.3.0 → 1.0.0)
- Pass generated tag + changelog to softprops/action-gh-release
- Checkout with fetch-depth: 0 so tag-action can walk full commit history
Workflow: open PR → merge to main → CI builds .deb → tag created →
GitHub Release published automatically. Zero manual steps.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Continuous Integration
- auto-release on every merge to main via conventional commit tagging (6d9bc59)
Synaptix v0.3.0
Synaptix v0.1.0
Full Changelog: https://github.com/Zenardi/Synaptix/commits/v0.1.0