Skip to content

EZAuto_static_v0.2.2

Latest

Choose a tag to compare

@Bitpulses Bitpulses released this 18 Jun 02:09
· 11 commits to main since this release

Release Notes v0.2.2

Critical Fixes

  • Fixed a memory leak in FocusMonitor caused by an extra COM AddRef() call during handler registration.
  • Replaced volatile bool g_running with std::atomic<bool> to ensure thread-safe shutdown signaling.
  • Fixed IME state tracking so failed switch attempts no longer prevent future retries.
  • Made configuration loading atomic to prevent partial updates when JSON parsing fails.

Improvements

  • Reduced mutex hold time in focus callbacks to avoid event backlog and potential deadlocks.
  • Fixed data races in ImeSwitcher by protecting shared state with a mutex.
  • Replaced SendMessage with SendMessageTimeout(..., SMTO_ABORTIFHUNG) to prevent hangs on unresponsive windows.
  • Fixed JSON parsing when braces appear inside quoted strings.
  • Improved IME state detection when the IME is closed by marking unreliable states correctly.

Minor Fixes

  • Improved HWND formatting by using uintptr_t for safe pointer conversion.
  • Prevented queued focus events from executing after FocusMonitor has stopped.
  • Updated version number references from 0.1.4 to 0.2.1.
  • Fixed configuration loading on non-ASCII installation paths by using GetModuleFileNameW().

Summary

This release improves stability, thread safety, IME switching reliability, configuration handling, and overall robustness.