v3.5.9 — stability hotfix
Consolidated release since v3.5.6. Three new hooks introduced in v3.5.7–v3.5.8 are disabled in this build after two independent crash reports.
Fixed
- Disabled MultiByteToWideChar / WideCharToMultiByte ASCII fast path — NULL-deref crashes on alt-tab and raid invite (2 independent reports, ACCESS_VIOLATION reading 0x00000000).
- Disabled lstrlenA / lstrlenW fast path — same crash cluster.
- Disabled GetEnvironmentVariableA cache — same crash cluster. Also added NULL-guards on
lpName/lpBufferfor future re-enable. - Recount compatibility + UI reload stability (from v3.5.7).
- CheckPrefetch lock ordering + async GC dead-code removal + defensive hook toggles (from v3.5.7).
- Removed lua_getfield _G cache — broken pointer comparison, net-negative (from v3.5.8).
Added (still enabled)
string.format/string.find/string.match/math.*/table.*Lua fast paths.- Combat log retention patched to 1800s.
- Per-tier Lua GC stepping (normal / combat / idle / loading).
Notes
Behavior now matches v3.5.6 for the three disabled hooks, plus the safe fixes above. If this build is stable, individual hooks will be re-enabled and re-tested one at a time in subsequent releases.
Credits
Testers: Morbent, Billy Hoyle, NoGoodLife , UNOB — thank you.