github suprepupre/wow-optimize v2.0.6
v2.0.6 — Stability Hotfix: Disable UI Cache + SpellInfo Cache

latest releases: v2.0.8, v2.0.7
6 hours ago

🐛 Stability Hotfix

What was broken

Two caching features caused real-world addon regressions:

Bug Cause Affected
WeakAuras missing after spec switch GetSpellInfo cache served stale spell data during one-shot rebuild WeakAuras, any spec-dependent addon
Dead players show non-empty HP bars StatusBar:SetValue cache prevented health update to 0 Raid frames (Grid2, oUF, Blizzard)

Root cause

Both UI cache and GetSpellInfo cache are fundamentally unsafe for public release:

  • UI Cache: WoW's C++ engine modifies widget state directly, bypassing our Lua-level hooks. Even with only 3 StatusBar hooks, the cache becomes stale in edge cases (death, spec switch, talent rebuild).

  • GetSpellInfo Cache: Even with 500ms TTL, addons like WeakAuras query GetSpellInfo() only once during spec-switch reconstruction. A stale cached result poisons that one-shot initialization path until /reload.

What changed

Component v2.0.5 v2.0.6
UI Cache 3 StatusBar hooks Disabled
GetSpellInfo cache TTL 500ms Disabled
GetItemInfo cache Permanent Permanent (unchanged)
Everything else Active Active (unchanged)

What remains active

All other optimizations are unaffected:

  • ✅ mimalloc allocator (CRT + Lua VM)
  • ✅ Adaptive GC with 4-tier stepping
  • ✅ String table pre-sizing
  • ✅ PreciseSleep frame pacing
  • ✅ GetTickCount + timeGetTime QPC sync
  • ✅ TCP_NODELAY + network stack
  • ✅ MPQ read-ahead cache + FlushFileBuffers skip
  • ✅ Combat log optimizer
  • ✅ GetItemInfo permanent cache
  • ✅ string.format fast path
  • ✅ Timer resolution, thread priority, working set

Full Changelog

v2.0.5...v2.0.6

Don't miss a new wow-optimize release

NewReleases is sending notifications on new releases.