Most of this release came straight from your bug reports (issues #34–#42). It's a reliability pass, not a feature drop — the suite finally behaving where it was misbehaving: connecting reliably, actually showing your buffs, and surviving loading screens and display-mode changes. Recommended for everyone on 3.16.2.
What's fixed
Connecting reliably again (#39). The big one — some players couldn't connect to Warmane at all. The cause was the engine-wide mimalloc allocator redirect stepping on Winsock's own memory, plus a heap compactor running on a background thread that could pull memory out from under an in-flight connection. The heap compactor now works on the main thread where it's safe, and the redirect-everything allocator is gone. In its place is a much narrower, opt-in version (see below).
Your buffs and cooldowns show up again (#42). The event coalescer was collapsing UNIT_AURA and the spell-cooldown events within a single frame, so a proc landing on the same frame as another aura change could just vanish — leaving buff icons and cooldown swipes frozen. Those events always fire through now.
No more crash while loading (#35). A lock-free database cache could wedge a slot permanently if it faulted at the wrong moment, and the next loading screen would spin on it forever. Fixed, with a hard cap on the retry loop as a backstop.
No more table contains non-strings errors (#37 / #38). The table.concat fast path was rejecting perfectly valid string tables (LibGroupTalents rosters, among others) because it read a garbage-collector flag as if it were a type tag. Gone — and the Lua fast paths now step aside during loading, so heavy addon init doesn't drag out load times.
Cleaner loading and character-select screens (#36). UIFrameBatch was hooking shared engine plumbing that the loading and char-select screens also rely on. It now stays out of the way outside normal gameplay.
Inventory/vendor item state (#34 / #41). Hardened the event handling around bag and vendor updates.
DXVK / rendering
A round of device-lifecycle work: all the render caches now invalidate together on a device reset instead of one at a time; a startup crash from two threads racing to patch the same D3D9 code page is fixed; DXVK is now actually detected (that detection code was dead and never ran); and the resize path copes with DXVK resizing its swapchain without telling the game.
Known issue: on some DXVK setups, UI text can still garble after a windowed↔maximized switch. Cache invalidation around that path improved this release, but the remaining corruption looks like it's in the client's own font rasterizer during device re-init — still under investigation.
New opt-in toggles (launcher → General tab, all default OFF)
Try them one at a time:
- Large-Allocation mimalloc (experimental) — the conservative replacement for the old allocator redirect. Routes only large (≥1 MB) main-thread allocations to mimalloc, kept below 2 GB, to fight 32-bit address-space fragmentation over long sessions. Small allocations and network buffers are left alone. Confirm you can still connect after enabling it.
- Object Manager Lookup Cache — a read-only, GUID-verified per-frame lookup cache (safe now that it no longer writes back into the object table).
- Hardware Cursor Fix — resets cursor visibility and releases any cursor clip on startup.
- Sampling Profiler — a read-only diagnostic that logs the top-50 hot functions on exit.
Also
Crash reports now walk the stack and name the module each return address belongs to, so the nasty EIP=0 null-call crashes are finally traceable.
Some historically-unstable features stay disabled pending live verification (World-State Coalescer, D3D9 vertex-buffer / shader-constant caches, predictive prefetch, the SSE2 math/camera cluster, deferred field updates). Each is documented in src/core/version.h with the reason it's off. Want to help validate one? They can be handed out individually.
Installation
Copy into your WoW 3.3.5a folder and run the launcher:
wow_optimize_launcher.exeversion.dllwow_optimize.dll
Then open wow_optimize_launcher.exe, configure, and click LAUNCH WOW. Upgrading? Replace all three files — your existing wow_opt.ini is preserved, and the new opt-in features stay off until you tick them.
DLL injection may violate a private server's Terms of Service. Use at your own risk.
Full Changelog: v3.16.2...v3.16.3