Repository navigation
v0.7.5
Release v0.7.5
Fan Curve & Hardware Control
- Dynamic Fan Curve Reloading: Implemented timestamp-based version tracking (
FanCurveVersion) between the UI and background engine, ensuring changes saved in the Curve Editor are immediately reloaded by the background service without requiring an app restart or power profile cycle. - Auto-Activation on Save: Clicking SAVE & APPLY in the Curve Editor now automatically enables Curve Mode and sets the fan profile to Custom, eliminating the need to manually toggle overrides.
- Immediate EC Application: Calculated fan speeds are now evaluated against current CPU/GPU temperatures and dispatched immediately to the embedded controller (EC) upon saving, switching fan modes, or changing power profiles.
- Hardware Mode Transition Reset: Reset
_lastAppliedCpuSpeedand hysteresis counters when switching between Auto, Max, and Custom modes so new curve targets are never suppressed by stale speed caches. - Curve-Aware Tray Menu: Selecting "Custom" from the system tray context menu now evaluates the active curve rather than defaulting to static 50% speeds.
UI & Usability
- Dynamic Tray Radio Sync: Context menu radio checkmarks for Power Profiles and Fan Profiles now dynamically synchronize every time the menu opens, accurately reflecting external adjustments and AC/DC automated switches.
- Curve Editor Canvas Stability: Hooked
GraphCanvas.SizeChangedto ensure reliable initial layout rendering and preserved mouse capture throughout drag operations to prevent nodes from dropping abruptly when moving near canvas edges.
Reliability & Maintenance
- Unhandled Exception Guards: Wrapped all
async voidcommand delegates (SetPowerCommand,ApplyGpuClocksCommand,ResetGpuClocksCommand) and tray menu event handlers intry/catchguards to prevent unhandled background exceptions from crashing the process.
Full Changelog: v0.7.4...v0.7.5