Skip to content

Releases: Toxpox/MouseDrive

MouseDrive V0.4.0

21 Mar 00:55
9d3970c

Choose a tag to compare

Changelog


[0.4.0] — 2026-03-21

Performance:

  • Atomic ordering optimized (unnecessary memory barriers removed from hot path)
  • Input thread priority raised to THREAD_PRIORITY_HIGHEST
  • Process priority raised to HIGH_PRIORITY_CLASS
  • HPET timer enabled (15.6ms → 1ms system timer resolution)

Stability & error handling:

  • Graceful shutdown added (raw input thread exits cleanly)
  • vJoy axes reset and device relinquished on exit
  • Config validation on load (NaN, infinity, out-of-range values are corrected)
  • vJoy DLL secure loading (exe dir → Program Files → PATH)

New types:

  • SteeringMode enum (replaces magic numbers 0/1/2/3)
  • VJoyStatus enum (replaces string, with TR+EN localized messages)
  • config_version field (for future migration support)

Code quality:

  • 13 unit tests added (config.rs and logic.rs)
  • #![deny(unsafe_code)] added to logic and lang modules
  • Zero clippy warnings, cargo fmt applied

MouseDrive V0.3.0-a

09 Feb 23:14
aac14ff

Choose a tag to compare

MouseDrive — Release Notes

v0.3.0-a — Language Support (2026-02-10)

  • Language support — Turkish and English UI (switchable in Settings > General)

v0.3.0 — Refactor, Optimization & UI Redesign (2026-02-09)

What's New

  • Collapsible settings panel — Left side panel with animated open/close, replaces the old 2-column layout
  • Tabbed settings — Steering, Throttle, Brake, and General settings organized into separate tabs
  • Improved dashboard — Equal-width progress bars, framed status bar and input state display
  • TOML config format — Config files now use TOML instead of INI (via serde + toml crate)
  • vJoy reconnect button — Reconnect without restarting the app

Performance

  • Mutex<f64> replaced with AtomicU64 — lock-free hot path
  • Vec<u8> replaced with AlignedBuf stack buffer — zero heap allocation in raw input callback

Code Quality

  • Removed #![allow(unsafe_op_in_unsafe_fn)], added granular unsafe {} blocks
  • config_io! macro to reduce config load/save boilerplate
  • slider_f64() / slider_i32() UI helper functions
  • Deprecated Frame::rounding() calls updated to corner_radius()

MouseDrive V0.3.0

09 Feb 01:17
a49f296

Choose a tag to compare

MouseDrive — Release Notes


v0.3.0 — Refactor, Optimization & UI Redesign (2026-02-09)

What's New

  • Collapsible settings panel — Left side panel with animated open/close, replaces the old 2-column layout
  • Tabbed settings — Steering, Throttle, Brake, and General settings organized into separate tabs
  • Improved dashboard — Equal-width progress bars, framed status bar and input state display
  • TOML config format — Config files now use TOML instead of INI (via serde + toml crate)
  • vJoy reconnect button — Reconnect without restarting the app

Performance

  • Mutex<f64> replaced with AtomicU64 — lock-free hot path
  • Vec<u8> replaced with AlignedBuf stack buffer — zero heap allocation in raw input callback

Code Quality

  • Removed #![allow(unsafe_op_in_unsafe_fn)], added granular unsafe {} blocks
  • config_io! macro to reduce config load/save boilerplate
  • slider_f64() / slider_i32() UI helper functions
  • Deprecated Frame::rounding() calls updated to corner_radius()

MouseDrive 0.1.0 Alpha

04 Feb 07:33
a85c086

Choose a tag to compare