Releases: Toxpox/MouseDrive
Releases · Toxpox/MouseDrive
MouseDrive V0.4.0
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:
SteeringModeenum (replaces magic numbers 0/1/2/3)VJoyStatusenum (replaces string, with TR+EN localized messages)config_versionfield (for future migration support)
Code quality:
- 13 unit tests added (
config.rsandlogic.rs) #![deny(unsafe_code)]added to logic and lang modules- Zero clippy warnings, cargo fmt applied
MouseDrive V0.3.0-a
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 withAtomicU64— lock-free hot pathVec<u8>replaced withAlignedBufstack buffer — zero heap allocation in raw input callback
Code Quality
- Removed
#![allow(unsafe_op_in_unsafe_fn)], added granularunsafe {}blocks config_io!macro to reduce config load/save boilerplateslider_f64()/slider_i32()UI helper functions- Deprecated
Frame::rounding()calls updated tocorner_radius()
MouseDrive V0.3.0
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 withAtomicU64— lock-free hot pathVec<u8>replaced withAlignedBufstack buffer — zero heap allocation in raw input callback
Code Quality
- Removed
#![allow(unsafe_op_in_unsafe_fn)], added granularunsafe {}blocks config_io!macro to reduce config load/save boilerplateslider_f64()/slider_i32()UI helper functions- Deprecated
Frame::rounding()calls updated tocorner_radius()