Repository navigation
v12.0.0.3 — Performance & Architecture Update
·
983 commits
to main
since this release
Version 12.0.0.3 — Performance & Architecture Update
🚀 Major Changes
Broker System Refactoring
- Split the monolithic
BrokerBar.luainto 12 modular broker files:- Friends, Guild, Gold, System, Bags, Token, Volume, Durability, Location, Difficulty, ItemLevel, Clock
- Each broker now lives in
Modules/Brokers/ - Significantly improved maintainability and future scalability
Critical Performance Fixes
- Resolved severe FPS degradation caused by resource accumulation on zone changes
- Added one‑time initialization guards across the Maps module to prevent duplicate execution:
SetupMinimapPosition— prevents SetPoint function wrappingSetupMinimapDragging— prevents duplicate OnUpdate scriptsSetupElements— prevents duplicate clock/coordinate tickersSetupButtonBar— prevents duplicate button HookScriptsSetupNudgeControls— prevents duplicate nudge frame setupSkinBlizzardButtons— prevents repeated button skinningUpdateLayout— prevents repeated layout operations
- Optimized UnitFrames
PLAYER_ENTERING_WORLDto hide Blizzard frames only once - State drivers now persist correctly across zone changes without re‑registering
ActionBars Improvements
- Added conflict detection for major action bar addons:
- Dominos, Bartender4, ElvUI
- ActionBars module now auto‑disables when a conflicting addon is detected
- Added initialization guards to prevent duplicate setup on zone transitions
🛠️ Technical Details
- All setup functions now use initialization flags to prevent repeated execution
- Timer tickers are now stored and prevented from multiplying
HookScriptcalls are protected with per‑button flagsSetPointfunction wrapping now occurs only once per session
📈 Summary
This update delivers major architectural cleanup and resolves long‑standing performance issues, especially during frequent zone changes or instance transitions. Expect smoother gameplay, more stable FPS, and a cleaner foundation for future MidnightUI updates.