๐ฅ The State of WoW Addons in 12.0: The Addonpocalypse Report¶
Last Updated: March 13, 2026 โ 11 days post-launch, 11 days until Mythic raids Patch: 12.0.1 (Interface 120001) Season 1: Starts March 17 | Mythic Raids: March 24 Methodology: 50+ web searches, 60+ page fetches, 9 research reports, every claim tagged โ /โ ๏ธ/โ
TL;DR for people who just want the bottom line
Midnight launched on March 2, 2026. Within 48 hours, the community dubbed it "The Great Addon Purge of 2026." WeakAuras is dead. Hekili is dead. GTFO is dead. CLEU is effectively gone. But Details!, DBM, BigWigs, ElvUI, Cell, and Plater all survived โ as skins over Blizzard's native systems. Housing addons are booming. The real test comes March 24 when Mythic guilds hit the Race to World First without WeakAuras for the first time in over a decade. Everything in this report is sourced and verified.
๐ The Scorecard: 11 Days In¶
| Metric | Number | Verification |
|---|---|---|
| New APIs added (12.0.0) | 437 | โ Warcraft Wiki |
| APIs removed (12.0.0) | 138 | โ Warcraft Wiki |
| New APIs added (12.0.1) | 59 | โ Warcraft Wiki |
| New events (12.0.0) | 76 | โ Warcraft Wiki |
| New CVars (12.0.1) | 32 | โ Warcraft Wiki |
| Major addons confirmed dead | 5+ | โ Multiple sources |
| Major addons adapted & shipping | 10+ | โ CurseForge / developer statements |
| Housing addons (new category) | 5+ | โ CurseForge |
| Days until Mythic raids | 11 | โ Calendar |
| WeakAuras Patreon income | ~$500/mo | โ WeakAuras Patreon |
๐๏ธ What Happened: The Timeline¶
Before we look forward, let's establish exactly what happened and when. Every date below is verified.
| Date | Event | Status |
|---|---|---|
| Mid-2025 | Midnight alpha โ addon restrictions discovered | โ |
| October 5, 2025 | Accessibility concerns thread goes live on Blizzard forums | โ Forums |
| October 25, 2025 | ElvUI announces development on hold | โ Icy Veins |
| November 3, 2025 | BlizzardWatch publishes "What the heck is happening with addons" | โ BlizzardWatch |
| November 6, 2025 | Ion Hazzikostas breaks 2-year Reddit silence on addon controversy | โ Wowhead |
| November 28, 2025 | WeakAuras confirms: no Midnight version, ever | โ PCGamesN |
| December 2, 2025 | Player Housing early access begins | โ |
| December 5, 2025 | ElvUI reverses course โ announces return | โ Warcraft Tavern |
| December 17, 2025 | Beta 5: UnitHealPredictionCalculator + more relaxations | โ Icy Veins |
| December 21, 2025 | Blizzard finalizes majority of addon changes for pre-patch | โ Wowhead |
| January 16, 2026 | MPlusTimer standalone released (WA โ addon conversion) | โ Wowhead |
| January 23, 2026 | Ion: "We probably should've done something sooner" | โ GamesRadar |
| January 25, 2026 | ElvUI v15.0.0 ships for Midnight | โ |
| January 27, 2026 | The Vibecoded Addon Wars erupt | โ Kaylriene |
| January 28, 2026 | Patch 12.0.0 pre-patch goes live | โ Warcraft Wiki |
| February 24, 2026 | Wago.io security breach identified | โ Wago Security Notice |
| February 24, 2026 | Blizzard un-secrets many healer spells | โ Wowhead |
| March 2, 2026 | ๐ Midnight launches | โ |
| March 5, 2026 | PC Gamer: "I don't miss combat addons" | โ PC Gamer |
| March 11, 2026 | Hotfixes: macro restrictions during encounters | โ Blizzard News |
| March 17, 2026 | Season 1 begins | โ Upcoming |
| March 24, 2026 | ๐ Mythic raids unlock โ Race to World First begins | โ Upcoming |
๐ฎ What Happens Next: The Prediction Timeline¶
Based on verified trends, confirmed PTR data, Blizzard's stated policy, and the pattern of concessions during beta.
Patch 12.0.5 (PTR Active, No API Changes Yet)¶
| Prediction | Confidence | Reasoning |
|---|---|---|
| Whitelist expansion continues | โ ๏ธ LIKELY | Blizzard progressively expanded the whitelist through beta โ from zero exemptions to 16+ spells. Pattern shows ongoing expansion. |
| Damage meter improvements | โ ๏ธ LIKELY | 12.0.5 PTR already shows a minimize button for the damage meter. Missing features (overhealing, chat reporting) are active complaints. |
| Edit Mode enhancements | โ ๏ธ LIKELY | PTR notes mention raid frame sizing improvements. Blizzard needs to close the gap that Edit Mode libraries fill. |
| No CLEU restoration | โ CONFIRMED (policy) | Blizzard explicitly stated API changes are frozen except for "extreme bugs/exploits." CLEU removal is intentional policy, not a bug. |
| Housing addon ecosystem grows | โ ๏ธ LIKELY | Housing APIs are extensive and unrestricted. HomeBound already at 3M+ downloads. Zero combat restrictions apply. |
๐ Whitelist expansion: what gets un-secreted?
Pattern from beta: Blizzard un-secreted data in response to two pressures: (1) healer community feedback and (2) competitive fairness arguments where the base UI lacked equivalent functionality.
Already un-secreted: Secondary resources (Combo Points, Runes, Soul Shards, Holy Power, Chi, Arcane Charges, Essence), player's own spellcasts, specific auras (Maelstrom Weapon, Ebon Might), Skyriding abilities, combat resurrection spells.
Likely next: Tank defensive auras (same healer-adjacent argument), specific class resource auras (like Shadow Priest's Insanity stacks), and possibly more encounter-specific whitelists as Mythic guilds provide feedback.
Source: Wowhead - Whitelisted Spells, Icy Veins - Blizzard Relaxing Limitations
๐ Damage meter gaps: what's missing?
The built-in damage meter and by extension Details! currently lack:
- Overhealing metrics โ healers can't optimize if they can't see overhealing
- CC break tracking โ "who broke the sheep?" is unanswerable
- Buff uptime analysis โ can't track PI/Bloodlust uptimes
- Resource generation metrics โ no way to analyze resource management
- Pet damage segmentation โ pet damage lumped with owner
- Chat reporting โ can't link meters in chat (social enforcement lost)
- Data persistence โ doesn't persist across logouts
- Combat timer โ no fight duration display
Blizzard has acknowledged these gaps. Whether 12.0.5 addresses them depends on engineering priority. The PTR shows incremental improvements (minimize button, Enemy Damage Taken metric).
Sources: Wowhead - Damage Meter Shortcomings, Blizzard Forums
Patch 12.1 (Unannounced)¶
| Prediction | Confidence | Reasoning |
|---|---|---|
| Additional spell school whitelists | โ UNVERIFIED | Blizzard said healer un-secreting is temporary: "We will likely re-protect these spells once our own filtering solution is in place." Implies they're building something. |
| Native aura filtering system | โ ๏ธ LIKELY | Blizzard explicitly promised this when they temporarily un-secreted healer spells. They need it before re-secreting. |
| C_EncounterTimeline expansion | โ ๏ธ LIKELY | Currently 40+ APIs โ expect more as encounter designers get feedback from first Mythic tier. |
| WeakAuras returns | โ UNLIKELY | Team listed 3 conditions for return, none of which Blizzard shows signs of meeting. The $500/month Patreon confirms this isn't a negotiation tactic. |
| Console port announcement | โ UNVERIFIED | Widely speculated as the hidden motivation behind addon restrictions. Console platforms can't support addons, so Blizzard needs the base game to be addon-independent. No confirmation. |
๐ The console port theory
Multiple outlets (BlizzardWatch, community analysts) noted the addon restrictions align suspiciously well with console port preparation. If WoW were coming to consoles:
- The game must be fully playable without addons (check โ Blizzard built native damage meter, boss timeline, cooldown manager)
- The UI must be self-contained (check โ Secret Values prevent addon-dependent competitive advantages)
- Encounter design must not assume addon usage (check โ classes were pruned because they were "built in a world where devs assumed addons")
Ion Hazzikostas has not confirmed or denied console plans. The evidence is circumstantial but compelling.
Source: BlizzardWatch, PC Gamer - Classes Pruned
March 24: Mythic Raid Unlock¶
| Prediction | Confidence | Reasoning |
|---|---|---|
| Guilds demand CLEU back within 48 hours | โ ๏ธ LIKELY | World First guilds have always used CLEU-powered tools. First week of progression will expose every gap in native tools. |
| Housing addon hits #1 on CurseForge | โ ๏ธ LIKELY | HomeBound already at 3M+ downloads. Non-raiders will be housing while RWF happens. Two parallel player populations, two parallel addon ecosystems. |
| Blizzard hotfixes encounter warnings during RWF | โ ๏ธ LIKELY | Pattern: Blizzard always adjusts encounter-side during World First. Now that addons can't compensate, encounter design must be tighter. |
| DBM/BigWigs prove sufficient for Mythic | โ UNCERTAIN | They work. Whether they're sufficient for the highest level of play without CLEU parsing is genuinely unknown. |
| Creative exploits discovered under pressure | โ ๏ธ LIKELY | World First guilds historically find every edge case. March 24 will be the biggest API stress test in WoW history. |
๐ What Mythic guilds are actually worried about
The concerns aren't abstract. Here's what Mythic raiders lose:
Lost permanently:
- CLEU-based mechanic detection (knowing exactly which ability is being cast, on whom)
- Independent boss mod alerting (DBM/BigWigs can't "decide" what's important โ they reformat Blizzard's decisions)
- Ability rename translations ("soak" / "frontal" / "spread" โ boss mods can't rename abilities)
- Enemy nameplate timers (no tracking enemy cooldowns via addons)
- External audio countdowns tied to specific debuffs
- Real-time encounter state analysis
Still works:
- DBM/BigWigs as presentation layer over native boss timeline
- Private Aura custom audio alerts
- Blizzard's three alert severity pools (minor/medium/critical)
- Custom timer/reminder systems
- MRT raid notes and cooldown assignments
- Combat log file (Warcraft Logs) โ completely unaffected for post-fight analysis
ENCOUNTER_START/ENCOUNTER_ENDeventsUNIT_SPELLCAST_SUCCEEDEDevent
The big question: Can guilds develop strategy as efficiently using only native tools + formatted boss timeline? Or does the loss of CLEU parsing add days to progression?
Sources: Wowhead - Boss Mods in Midnight, Wowhead - DBM & BigWigs Meet Ion, Blizzard - Combat Philosophy
โก The API Exploit Tier List (VERIFIED)¶
What ACTUALLY still works in 12.0.1, ranked by how long we expect it to last. Every entry verified against live patch data.
๐ข SAFE โ Blizzard Clearly Intended These¶
These are explicitly supported, documented APIs. They're not going anywhere.
Settings Panel API โ ¶
Longevity: Permanent. This is Blizzard's official addon settings system.
-- This is THE supported way to create addon settings in 12.0+
local category = Settings.RegisterVerticalLayoutCategory("My Addon")
local setting = Settings.RegisterAddOnSetting(category,
"MyAddon_Enabled", "enabled", MyAddon_DB,
type(true), "Enable Feature", true
)
Settings.CreateCheckbox(category, setting, "Toggle the main feature.")
Settings.RegisterAddOnCategory(category)
Used by: Every addon with a settings panel Source: โ Warcraft Wiki - Settings API
Addon Compartment โ ¶
Longevity: Permanent. Blizzard wants addons to use this instead of minimap buttons.
-- In your .toc file:
-- ## AddonCompartmentFunc: MyAddon_OnClick
-- ## IconTexture: Interface\Icons\INV_Misc_QuestionMark
function MyAddon_OnClick(addonName, buttonName)
if buttonName == "LeftButton" then
Settings.OpenToCategory(MyAddon.categoryID)
end
end
Used by: Every modern addon with a minimap presence Source: โ Warcraft Wiki - Addon Compartment
C_DamageMeter API โ ¶
Longevity: Permanent. This is Blizzard's replacement for CLEU-based damage tracking.
-- Get available combat sessions
local sessions = C_DamageMeter.GetAvailableCombatSessions()
-- Get session data
local source = C_DamageMeter.GetCombatSessionSourceFromID(
sessionID, Enum.DamageMeterType.DamageDone
)
-- Check if meter is available
if C_DamageMeter.IsDamageMeterAvailable() then
-- Display damage data
end
Used by: Details! (as its data backend), Blizzard's native meter Source: โ Warcraft Wiki, Wowhead
C_EncounterTimeline API โ ¶
Longevity: Permanent. Blizzard's boss encounter data system.
-- Get encounter event list
local events = C_EncounterTimeline.GetEventList()
local info = C_EncounterTimeline.GetEventInfo(eventID)
-- Custom events (addon-created overlays)
C_EncounterTimeline.AddScriptEvent(eventData)
C_EncounterTimeline.CancelScriptEvent(eventID)
-- Check state
local hasActive = C_EncounterTimeline.HasActiveEvents()
Used by: DBM, BigWigs, Better Timeline Source: โ Warcraft Wiki
Duration Objects & Secret-Safe Display โ ¶
Longevity: Permanent. This IS the Secret Values solution.
-- Create a Duration Object for cooldown display
local duration = C_DurationUtil.CreateDuration()
cooldownFrame:SetCooldownFromDurationObject(duration)
-- Boolean-driven visuals (no branching on secrets)
region:SetAlphaFromBoolean(secretBool)
region:SetVertexColorFromBoolean(secretColor)
-- Color Curves for threshold visualization
local curve = C_CurveUtil.CreateCurve()
-- Secret values can be fed into curves for visual display
Used by: Cell, Arc UI, OmniCD, cooldown tracking addons Source: โ Warcraft Wiki - Secret Values
Housing APIs โ ¶
Longevity: Permanent. Brand new, unrestricted frontier.
-- Housing APIs are NOT affected by Secret Values
-- Full read/write access to housing data
C_HouseExterior.GetCurrentHouseExteriorType()
C_HouseExterior.GetHouseExteriorSizeOptions()
C_HousingCatalog.GetCatalogItems()
C_HousingDecor.PreviewDecorItem(itemID)
-- Photo sharing (12.0.1)
C_HousingPhotoSharing.SharePhoto(photoData)
Used by: HomeBound (3M+ downloads), HomeDecor, Plumber Source: โ Warcraft Wiki
ScrollBox / DataProvider โ ¶
Longevity: Permanent. The modern scroll system since 10.0.
local scrollBox = CreateFrame("Frame", nil, parent, "WowScrollBoxList")
local scrollBar = CreateFrame("EventFrame", nil, parent, "MinimalScrollBar")
local view = CreateScrollBoxListLinearView()
view:SetElementExtent(24)
view:SetElementInitializer("ButtonTemplate", function(btn, data)
btn:SetText(data.name)
end)
ScrollUtil.InitScrollBoxListWithScrollBar(scrollBox, scrollBar, view)
local dp = CreateDataProvider()
dp:Insert({ name = "Hello" })
scrollBox:SetDataProvider(dp)
Used by: Every addon with scrollable lists Source: โ Warcraft Wiki - Making Scrollable Frames
RegisterEventCallback (Frame-Free Events) โ ¶
Longevity: Permanent. New in 12.0, explicitly designed for addons.
-- No frame needed! Register events directly.
RegisterEventCallback("PLAYER_LOGIN", function(event)
print("Logged in!")
end)
RegisterUnitEventCallback("UNIT_HEALTH", function(event, unit)
-- Handle unit health change
end, "player")
-- Check if an event supports callbacks
if C_EventUtils.IsCallbackEvent("PLAYER_LOGIN") then
-- Can use RegisterEventCallback
end
Used by: Modern addons adopting the new pattern Source: โ Warcraft Wiki - RegisterEventCallback
๐ก BORROWED TIME โ Working Now, Could Close Any Patch¶
These techniques work but exploit gaps or temporary concessions. Use them, but have a fallback plan.
hooksecurefunc (Combat-Facing) โ ๏ธ¶
Risk: Medium. The hook mechanism itself is permanent, but what you can do with the data is shrinking.
hooksecurefunc was NOT removed and is NOT on the removed API list. It remains the canonical way to post-hook secure functions. However, hook arguments increasingly arrive as Secret Values in restricted contexts.
-- STILL WORKS: Hooking for visual customization
hooksecurefunc("CompactUnitFrame_UpdateAll", function(frame)
if frame:IsForbidden() then return end
frame.healthBar:SetStatusBarTexture(MY_TEXTURE)
end)
-- STILL WORKS but arguments may be secret:
hooksecurefunc(GameTooltip, "SetAction", function(self, slot)
local kind, id = GetActionInfo(slot)
-- kind and id might be secret values in combat!
if issecretvalue(kind) then return end
-- Safe to use outside restricted contexts
end)
The pattern going forward: Hook fires โ check issecretvalue() on every argument โ graceful degradation.
Used by: Every major addon (ElvUI, Details!, DBM, Cell, Plater, idTip) Source: โ Warcraft Wiki - hooksecurefunc, โ Cell PR #457
Healer Spell Un-Secreting โ ๏ธ¶
Risk: HIGH. Blizzard explicitly said this is temporary.
On February 24, 2026, Blizzard un-secreted many healer spells. But they warned:
"We will likely re-protect these spells once our own filtering solution...is in place."
-- These healer auras are CURRENTLY non-secret
-- But Blizzard has said they'll re-protect them
-- Build your addon to gracefully degrade!
local auraData = C_UnitAuras.GetAuraDataByIndex(unit, index)
if issecretvalue(auraData.name) then
-- Fallback: show icon only, no timer text
ShowIconOnly(auraData.spellId)
else
-- Full display while we still have access
ShowFullAuraData(auraData)
end
Used by: Cell, VuhDo, Healbot, Danders Frames, Grid2 Source: โ Wowhead
Metatable Access on Non-Forbidden Frames โ ๏ธ¶
Risk: Low-medium. Works and no signs of restriction, but Blizzard fixed metatable bugs in restricted environments during beta โ showing they're paying attention.
-- Get the shared frame metatable
local mt = GetFrameMetatable()
-- Add custom method to ALL frames
mt.__index.MyCustomMethod = function(self)
return self:GetName() or "unnamed"
end
-- Works on non-forbidden frames
local frame = CreateFrame("Frame")
print(frame:MyCustomMethod())
Caveat: Metatable operations that touch Secret Values will error. __index/__newindex on secrets is blocked.
Used by: WeakAuras (RIP), ElvUI, MidnightSimpleUnitFrames Source: โ Warcraft Wiki - Widget API, โ Warcraft Wiki - Planned API Changes
Addon Communication (Between Pulls) โ ๏ธ¶
Risk: Medium. Works outside encounters, locked during them. The lockdown scope could expand.
-- Check if we're in lockdown
if C_ChatInfo.InChatMessagingLockdown() then
-- Queue the message for later
tinsert(pendingMessages, { prefix, msg, channel, target })
return
end
-- Send normally
C_ChatInfo.SendAddonMessage(prefix, msg, "RAID")
-- Flush queue on encounter end
local frame = CreateFrame("Frame")
frame:RegisterEvent("ENCOUNTER_END")
frame:SetScript("OnEvent", function()
for _, pending in ipairs(pendingMessages) do
C_ChatInfo.SendAddonMessage(unpack(pending))
end
wipe(pendingMessages)
end)
Used by: Cell (implements IsCommRestricted()), MRT, DBM, BigWigs Source: โ
Cell PR #457, โ
Warcraft Wiki
CLEU Outside Restricted Contexts โ ๏ธ¶
Risk: Medium-high. The event technically fires but payload is secrets during instanced content. Open world usage works, but Blizzard could tighten further.
-- CLEU fires but data is wrapped in Secret Values during:
-- Mythic keystones, PvP, encounters, combat
local frame = CreateFrame("Frame")
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
frame:SetScript("OnEvent", function()
-- Check if we're restricted first
if C_CombatLog.IsCombatLogRestricted() then
return -- Data is secrets, don't even try
end
-- Open world: data is normal, full parsing works
local timestamp, event, _, sourceGUID = CombatLogGetCurrentEventInfo()
-- Process normally
end)
Used by: Legacy combat tracking (open world only) Source: โ Warcraft Wiki - COMBAT_LOG_EVENT, โ Warcraft Wiki - Planned API Changes
Frame Strata on Blizzard Frames (Out of Combat) โ ๏ธ¶
Risk: Medium. Since Patch 11.1.7, calling SetFrameStrata()/SetFrameLevel() on protected frames during combat is blocked. Out-of-combat manipulation still works but the protection scope has been expanding.
-- Works on own frames ALWAYS (including combat):
myFrame:SetFrameStrata("HIGH")
myFrame:SetFrameLevel(100)
-- Works on Blizzard frames OUTSIDE combat:
SomeBlizzardFrame:SetFrameStrata("MEDIUM")
-- BLOCKED on protected frames IN combat since 11.1.7:
-- Use SecureStateDriver instead
RegisterStateDriver(mySecureFrame, "strata", "[combat] HIGH; LOW")
Used by: StrataFix, Plater, MidnightSimpleUnitFrames Source: โ Warcraft Wiki - SetFrameStrata
๐ด NEXT ON THE BLOCK โ Blizzard Probably Targeting These¶
These work today but show signs of being in Blizzard's crosshairs for future restrictions.
Specific Spell Whitelisting Exploits ๐ด¶
Risk: High. The whitelist is explicitly temporary for some entries.
Currently, 8 cooldown-only spells and 8 full aura data spells are whitelisted as non-secret. Blizzard has said the healer spells are temporary. Addons building around specific whitelist entries are building on sand.
-- These specific spells are currently non-secret:
-- Cooldowns: Second Wind, Surge Forward, Skyward Ascent, Aerial Halt,
-- Whirling Surge, Lightning Rush, Switch Flight Style,
-- all combat resurrection spells
-- Auras: Thrill of the Skies, Ohn'ahra's Gusts, Static Charge,
-- Skyriding Racing, Maelstrom Weapon, Void Metamorphosis,
-- Collapsing Star
-- Check if a specific spell's cooldown should be secret:
if C_Secrets.ShouldSpellCooldownBeSecret(spellID) then
-- Use Duration Object path
else
-- Direct access works (FOR NOW)
local info = C_Spell.GetSpellCooldown(spellID)
end
The safe pattern: Always implement the Duration Object fallback. Don't assume any specific spell will stay whitelisted.
Source: โ Wowhead - Whitelisted Spells
Tooltip Scanning for Unit Data ๐ด¶
Risk: High in instanced content. Item tooltips work fine; unit data is increasingly restricted.
-- Item tooltips: STILL WORK (even in instances)
local info = C_TooltipInfo.GetItemByID(itemID)
-- Unit tooltips: BROKEN in instances
-- Creature GUIDs and names become Secret Values
-- tostring() on secret tooltip data throws:
-- "attempt to perform string conversion on a secret value"
Multiple addons have filed issues. AllTheThings opened issue #2261. A dedicated compatibility addon โ "PlsFixMe Midnight Tooltips" โ exists solely to suppress these errors.
Used by: idTip, TipTac, Pawn, AtlasLoot, AllTheThings Source: โ GitHub - AllTheThings #2261, โ CurseForge - PlsFixMe
Macro Workarounds for Addon Restrictions ๐ด¶
Risk: Very high. Blizzard is actively hotfixing these.
March 11, 2026 hotfixes already restricted:
- Macros can no longer set target markers on more than 3 units within a short time
- Macros restricted from sending chat messages during active encounters
-- BLOCKED as of March 11:
-- Rapid target marker macro spam โ limited to 3 units
-- Macro whisper relay to external player โ blocked
-- Non-group channel messages during encounters โ blocked
If you're building around macro edge cases, expect them to be closed within one hotfix cycle.
Source: โ Blizzard - Hotfixes March 11, โ Wowhead - Macro Changes
"Addons Still Win" Competitive Advantages ๐ด¶
Wowhead's January 2026 investigation found that despite restrictions, addons continue providing competitive advantages through:
- Reminder addons (Northern Sky, Viserio Cooldowns) alerting on defensives/offensives unavailable in default UI
- Boss mods creating independent timer systems with dynamic phase-tracking
- Nameplate coloring identifying priority targets
- Hard-coded timers functioning as pseudo-WeakAuras
Blizzard is clearly watching this space and has already started closing holes (macro restrictions).
Source: โ Wowhead - Addons Continue to Provide Advantage
โ ๏ธ ALREADY DEAD โ Confirmed Blocked¶
No workarounds. No "well actually." Dead.
CLEU Combat Parsing โ ๏ธ¶
-- DEAD. Data is KStrings/Secrets during any restricted context.
-- The event fires, but CombatLogGetCurrentEventInfo() returns
-- Secret Values that cannot be inspected, compared, or computed on.
-- "attempt to compare two secret values" โ Lua error
-- "attempt to perform arithmetic on a secret value" โ Lua error
-- "attempt to perform string conversion on a secret value" โ Lua error
Cell's PR #457 documents the complete migration: CLEU disabled entirely, switched to UNIT_AURA + UNIT_HEALTH + UNIT_SPELLCAST_SUCCEEDED.
Source: โ Warcraft Wiki โ "Combat Log Events are no longer available to addons"
Secret Value Bypasses โ ๏ธ¶
Every known bypass has been patched:
| Exploit | Status | Details |
|---|---|---|
secretunwrap() | โ ๏ธ Removed | Function removed from global table entirely |
| UI reload to clear secrets | โ ๏ธ Patched | Bug fixed โ secrets persist through reload |
| Aura instance ID comparison | โ ๏ธ Patched | AuraInstanceIDs are non-secret but aura contents are |
tonumber() on secrets | โ ๏ธ Blocked | Explicitly prevented |
if secretValue then | โ ๏ธ Error | Cannot test truthiness of secrets |
| Secrets as table keys | โ ๏ธ Error | Cannot index tables with secrets |
#secretTable | โ ๏ธ Error | Length operator blocked on secrets |
Source: โ Warcraft Wiki - Secret Values
Rotation Helpers โ ๏ธ¶
Hekili, MaxDps, and all rotation helpers are fundamentally impossible under Secret Values. You cannot compute "which button to press" when you can't read cooldown values, check aura states, or evaluate resource counts during combat.
Source: โ Multiple โ WeakAuras team: "The core value proposition of WeakAuras isn't compatible with the direction Blizzard is taking the game."
Old Global Action Bar Functions โ ๏ธ¶
138 APIs removed in 12.0.0. The most impactful:
-- ALL OF THESE ARE GONE:
ActionHasRange() -- use C_ActionBar.IsActionInRange()
GetActionAutocast() -- use C_ActionBar namespace
IsItemAction() -- use C_ActionBar namespace
HasBonusActionBar() -- use C_ActionBar.HasBonusActionBar()
HasVehicleActionBar() -- use C_ActionBar.HasVehicleActionBar()
CombatLogAddFilter() -- use C_CombatLog namespace
CombatLogResetFilter() -- use C_CombatLog namespace
IsEncounterInProgress() -- removed entirely
BNSendGameData() -- removed
Source: โ Warcraft Wiki - 12.0.0 API Changes
UIDropDownMenu / EasyMenu โ ๏ธ¶
Deprecated since 11.0, removed in 12.0. The new menu system:
-- OLD (DEAD):
-- UIDropDownMenu_Initialize(dropdown, initFunc)
-- EasyMenu(menuList, dropdown, ...)
-- NEW (11.0+):
MenuUtil.CreateContextMenu(owner, function(owner, rootDescription)
rootDescription:CreateButton("Option 1", function() print("1") end)
rootDescription:CreateButton("Option 2", function() print("2") end)
end)
-- Hook Blizzard menus:
Menu.ModifyMenu("MENU_TAG", function(owner, rootDescription, contextData)
rootDescription:CreateButton("My Custom Option", function() end)
end)
Source: โ Warcraft Wiki - 11.0.0 API Changes
๐ Top 10 Addon Status Report (VERIFIED)¶
Not speculation. Not "might die." Real status, real evidence, real download numbers where available.
1. WeakAuras โ โ ๏ธ DEAD (Combat)¶
Status: Confirmed discontinued for Midnight
| Detail | Info |
|---|---|
| Status | No Midnight version. Team refuses to develop one. |
| Download history | Formerly ~30M+ on CurseForge |
| Revenue | ~$500/month Patreon (confirms decision is technical, not financial) |
| Last update | November 28, 2025 โ "We don't currently plan to release a WeakAuras version for Midnight" |
| Classic | Still exists and maintained for Classic |
Stanzilla (WeakAuras Lead): "The core value proposition of WeakAuras isn't compatible with the direction Blizzard is taking the game."
Conditions for return (none currently being met):
- Ability to compute new secret values from existing ones
- Reverting restrictions for personal combat state only
- Complete system reversal
What replaced WeakAuras?
| Replacement | CurseForge Downloads | What It Replaces |
|---|---|---|
| Arc UI | Growing | WA cooldown tracking |
| Northern Sky Raid Tools | 3.2M+ | WA raid packs |
| MPlusTimer | Growing | M+ timer WAs |
| MidnightSimpleAuras | Growing | Basic WA alerts |
| OmniCD | Growing | Group CD tracking WAs |
| TargetedSpells | Growing | Spell alert WAs |
| MyEssentialBuffTracker | Growing | Buff monitoring WAs |
| Cooldown Manager Control | Growing | Native CM enhancement |
| Platynator | Growing | Nameplate aura WAs |
Sources: โ Wowhead, โ Icy Veins, โ PCGamesN, โ WeakAuras Patreon
2. ElvUI โ ๐ก ALIVE (Reduced, Dramatic Comeback)¶
Status: Shipping v15.0.0 โ major features cut
| Detail | Info |
|---|---|
| Status | v15.0.0 shipped January 25, 2026 |
| Timeline | Quit October 25 โ Returned December 5 โ Shipped January 25 |
| Platform | tukui.org/elvui |
What's preserved: Action bars, chat, bags, UI skins, anchoring, basic buff/debuff filtering, Cooldown Manager skinning.
What's cut: Style Filters (combat-conditional styling), Portraits (removed across ALL game versions), Cutaway Bars (Midnight only), simplified tag/text formatting.
The drama: When ElvUI initially quit, a content creator named Quazii paywalled a fork as "QuaziiUI" behind Patreon. ElvUI dev Luckyone accused him of literal code theft โ "not just ideas or similar execution, but literal functions, comments, and references that still point at ElvUI functions." Quazii subsequently deleted his Patreon, Discord, YouTube, and posted a goodbye message.
Sources: โ Icy Veins, โ Warcraft Tavern, โ Kaylriene - Vibecoded Wars
3. Details! Damage Meter โ ๐ข ALIVE (Reskin Architecture)¶
Status: Shipping โ now a visual skin over C_DamageMeter
| Detail | Info |
|---|---|
| Status | Shipping, 330M+ downloads on CurseForge |
| Architecture | Visual skin over Blizzard's server-validated C_DamageMeter data |
| Platform | CurseForge |
What works: Damage Done, DPS, Damage Taken, Healing Done, HPS, Interrupts, Dispels, Deaths, per-ability breakdowns, combat session segments.
What's lost: Overhealing tracking, CC break detection, buff uptime analysis, resource generation tracking, pet damage segmentation, spell merging, advanced death breakdowns, chat reporting.
Forum user: "They are skins of existing tools Blizzard now provides. They have no access to anything that WoW isn't already providing baseline."
For deep analysis: Use Warcraft Logs โ the /combatlog disk file is completely unaffected.
Sources: โ Wowhead, โ Blizzard Forums
4. DBM (Deadly Boss Mods) โ ๐ข ALIVE (Reformatted)¶
Status: Shipping v12.0.12+ โ met directly with Ion Hazzikostas
| Detail | Info |
|---|---|
| Status | v12.0.12+ shipping, actively maintained |
| Architecture | Presentation layer over Blizzard's Boss Timeline + Private Aura audio |
| Platform | CurseForge |
MysticalOS (DBM creator) met directly with Ion Hazzikostas and lead software engineer Andy Churchill. The result: boss mods continue but as reformatters of Blizzard's native encounter system.
New capabilities: Custom timers via reminder system, custom audio on three alert severity pools, Private Aura integration for encounter debuffs, UI reskinning of Boss Timeline.
Lost capabilities: Cannot rename ability casts ("soak"/"frontal"), cannot independently decide which alerts to show, external audio countdowns prohibited, real-time encounter state analysis gone.
Sources: โ Wowhead - DBM & BigWigs Meet Ion, โ Wowhead - Boss Mods in Midnight
5. BigWigs โ ๐ข ALIVE (Reformatted)¶
Status: Shipping โ same adaptations as DBM
Similar architectural changes as DBM. Custom layouts and aesthetic customization preserved. Functions as enhancement layer over native boss warnings.
Source: โ CurseForge - BigWigs
6. Plater Nameplates โ ๐ก ALIVE (Heavily Reduced)¶
Status: Shipping but dramatically less capable
| What's Lost | What Remains |
|---|---|
| NPC-specific coloring | Visual customization (colors, textures, positioning) |
| Aura-based scaling | Mob type/classification coloring |
| Cast bar interrupt tracking | Basic sizing/scaling |
| Fixate detection | โ |
| Time-to-death calculations | โ |
| Execute range indicators | โ |
| Health threshold markers | โ |
| Quest progress on nameplates | โ |
| Buff/debuff icon repositioning | โ |
| Custom fonts in instances | โ |
Community note: "The addon apocalypse didn't kill Plater; it just demoted it."
Rising replacement: Platynator โ built from scratch for Midnight constraints. "Design within the box" philosophy.
Sources: โ Wowhead - Nameplates in Midnight, โ CurseForge - Platynator
7. Cell Raid Frames โ ๐ข ALIVE (Best-Documented Adaptation)¶
Status: Shipping r274/r275 โ the gold standard for Secret Values migration
Cell PR #457 is required reading for any addon developer adapting to Midnight. Key innovations:
- Granular per-aura secret detection
- CLEU replacement strategies varying by module
- Communication restriction handling with message queuing
- Heal prediction via
CreateUnitHealPredictionCalculator() - Initial Midnight raid debuffs for 6 raids, 6 dungeons, 41 bosses
Sources: โ GitHub - Cell PR #457, โ Icy Veins
8. Hekili โ โ ๏ธ DEAD¶
Status: Fundamentally impossible under Secret Values
Rotation helpers are precisely what Secret Values were designed to kill. Cannot read cooldown states, cannot check aura conditions, cannot evaluate resource counts during combat. No path forward.
9. GTFO โ โ ๏ธ DEAD¶
Status: Cannot detect avoidable damage
GTFO relied on CLEU to detect when you stood in fire and played an alert sound. With CLEU data wrapped in secrets, it can't know what damage event is happening. Blizzard's native Combat Audio Alerts are the replacement, but they're pre-configured โ no custom alert mapping.
10. HomeBound (Housing) โ ๐ข THRIVING (New Category)¶
Status: 3M+ downloads โ the Addon Renaissance
| Detail | Info |
|---|---|
| Status | 3M+ downloads, actively updated |
| Category | Brand new โ housing addons didn't exist before Midnight |
| Restrictions | NONE โ housing APIs are completely unrestricted |
| Platform | CurseForge |
Housing addons represent the only growing sector of the addon ecosystem. While combat addons contract, housing addons are exploding. HomeBound, HomeDecor, and Plumber collectively have millions of downloads and zero API restrictions to worry about.
This is the future Blizzard wants: addons that enhance player expression, not combat optimization.
Sources: โ CurseForge - HomeBound, โ CurseForge - HomeDecor
๐ The Threat Matrix¶
Every row verified. Status as of March 13, 2026.
| Addon Category | Pre-Midnight | Post-Midnight | Threat Level | Key Losers | Key Winners |
|---|---|---|---|---|---|
| Rotation Helpers | Full rotation optimization | โ ๏ธ Dead | ๐ EXTINCT | Hekili, MaxDps | โ |
| Combat Aura Trackers | Full combat state tracking | โ ๏ธ Dead | ๐ EXTINCT | WeakAuras (combat) | Arc UI, OmniCD |
| Damage Avoidance | Real-time ground effect alerts | โ ๏ธ Dead | ๐ EXTINCT | GTFO | Native Combat Audio |
| Custom Unit Frames | Full data access + custom frames | ๐ด Critically reduced | โ ๏ธ HIGH | Shadowed UF, Z-Perl | BetterBlizzFrames, Unhalted |
| Damage Meters | Independent combat log parsing | ๐ก Reskin layer | โ ๏ธ MEDIUM | (functionality lost) | Details! (adapted) |
| Boss Mods | Independent mechanic detection | ๐ก Reformat layer | โ ๏ธ MEDIUM | (functionality lost) | DBM, BigWigs (adapted) |
| Nameplates | Full NPC identification + aura tracking | ๐ก Visual only | โ ๏ธ MEDIUM | Plater (reduced) | Platynator |
| Healing Frames | Full aura/health data access | ๐ก Partially restricted | โ ๏ธ MEDIUM | Enhanced Raid Frames | Cell, VuhDo, Danders |
| Action Bars | Full customization | ๐ข Mostly fine | โ LOW | (namespace migration) | Bartender4, Dominos |
| UI Overhauls | Full UI replacement | ๐ข Visual layer works | โ LOW | ElvUI (reduced features) | ElvUI v15, MidnightUI |
| Housing | Did not exist | ๐ข BOOMING | โ NONE | โ | HomeBound, HomeDecor |
| Raid Coordination | Full communication | ๐ข Between-pull works | โ LOW | โ | MRT |
| Map/Quest | Full data access | ๐ข Unaffected | โ NONE | โ | AllTheThings, HandyNotes |
| Bag Management | Full access | ๐ข Unaffected | โ NONE | โ | AdiBags, Bagnon |
| Auction House | Full access | ๐ข Unaffected | โ NONE | โ | TSM, Auctionator |
๐ฎ The March 24 Question¶
The Real Test: Mythic Raids Without WeakAuras
Mythic raids unlock March 24, 2026. For the first time in over a decade, the Race to World First will be run without WeakAuras, without CLEU parsing, and without independent boss mod mechanic detection. This is the moment that determines whether Blizzard's "Addon Disarmament" holds.
What We Know¶
Season 1 begins March 17. Normal/Heroic raids open. M+ keystones start. This gives guilds one week of non-Mythic experience before the real pressure begins.
Mythic raids unlock March 24. World First guilds (Liquid, Echo, Method) will be pushing progression 16+ hours per day for 1-2 weeks.
What's Different This Time¶
Guild Strategy Development Pipeline (Pre-12.0):
1. Pull boss
2. CLEU fires โ WeakAuras parse every event
3. DBM/BigWigs independently detect mechanics
4. WeakAura custom alerts: "SOAK NOW", "SPREAD", "FRONTAL"
5. Damage meters show exact breakdown in real-time
6. Nameplate addons color priority targets
7. Addon comms sync raid cooldowns between pulls
8. Iterate on strategy with full data transparency
Time to develop strategy: ~2-4 pulls for basic understanding
Guild Strategy Development Pipeline (12.0+):
1. Pull boss
2. CLEU fires โ Secret Values, useless for parsing
3. DBM/BigWigs REFORMAT Blizzard's native boss timeline
4. Native alerts: generic severity levels (minor/medium/critical)
5. Damage meter shows C_DamageMeter data (no overhealing, no CC breaks)
6. Nameplate addons: visual only, no NPC identification in instances
7. Addon comms LOCKED during encounter โ flush on ENCOUNTER_END
8. Post-fight analysis via Warcraft Logs (disk file unaffected)
Time to develop strategy: ??? (genuinely unknown)
The Five Scenarios¶
Scenario 1: Guilds Demand CLEU Back (LIKELY)
What happens: Within 48 hours of Mythic opening, top guilds publicly call for CLEU restoration, citing encounters that feel "unreadable" without independent mechanic detection. Forum posts with thousands of upvotes. Twitch chat riots.
Why it's likely: World First guilds have ALWAYS used CLEU-powered tools. The gap between "native boss timeline" and "independent CLEU parsing" has never been tested at Mythic Cutting Edge difficulty. Every previous Race to World First relied on addon-detected mechanics that boss mods could then alert on with custom language ("SOAK!", "RUN!", "SPREAD!"). Boss mods can no longer rename abilities โ they can only reformat what Blizzard already shows.
What Blizzard probably does: Nothing immediate. Ion has been clear: "We probably should've done something sooner." This was a deliberate, long-planned change. But they may hotfix encounter timing to be more readable without addons.
Evidence: โ Blizzard - Combat Philosophy, โ GamesRadar - Ion Interview
Scenario 2: Encounters Are Tuned Around No Addons (LIKELY)
What happens: The first Mythic tier is noticeably more visually readable than previous tiers. Mechanics have clearer telegraphs, longer reaction windows, and more forgiving timing. The skill ceiling drops, but the skill floor rises. World First race takes similar time because encounters are tuned appropriately.
Why it's likely: Blizzard has been designing Midnight encounters with this system in mind for over a year. Ion tied class pruning to addon restrictions โ "classes were built in a world where devs assumed addons." If they pruned classes, they almost certainly adjusted encounter design.
Evidence: โ PC Gamer - Classes Pruned for Midnight
Scenario 3: Creative Exploits Under Pressure (LIKELY)
What happens: World First guilds discover edge cases in the API that provide competitive advantages. Hard-coded timer addons with encounter-specific logic. Nameplate tricks that work around Secret Values. Communication workarounds.
Why it's likely: This ALWAYS happens. Every World First race produces novel addon techniques. The difference is that Blizzard can now hotfix exploits faster (March 11 macro restrictions happened within 9 days of launch).
Evidence: โ Wowhead - Addons Continue to Provide Advantage, โ Wowhead - Macro Changes
Scenario 4: The Level Playing Field Works (POSSIBLE)
What happens: With all guilds equally limited, the Race to World First is determined more by raw player skill, coordination, and strategy โ less by addon optimization. Some players find this more satisfying. The competitive community grudgingly accepts the new normal.
Why it's possible: This is Blizzard's stated goal. Ion: "The overarching goal is to level the playing field so addons aren't giving you an objective competitive advantage." If encounters are properly designed for the addon-lite environment, the race becomes a purer test of player ability.
Evidence: โ Wowhead - Ion on Reddit
Scenario 5: Housing Eclipses Raiding (DARK HORSE)
What happens: While Mythic guilds grind with reduced tools, the majority of the playerbase is decorating houses. Housing addons dominate CurseForge trending. HomeBound and HomeDecor get more downloads in March than any raid addon. The player housing system โ completely unrestricted by Secret Values โ becomes the premier addon development frontier.
Why it's possible: Housing early access started December 2, 2025 and has been extremely popular. HomeBound already has 3M+ downloads. The housing API is extensive (40+ functions across 6+ namespaces) and completely unrestricted. For addon developers burned by combat restrictions, housing is a greenfield opportunity with zero API anxiety.
Evidence: โ CurseForge downloads, โ Warcraft Wiki - Housing APIs
The Data We'll Know By April¶
| Question | When We'll Know | How We'll Know |
|---|---|---|
| Can Mythic bosses be cleared without CLEU? | March 24-31 | World First race duration |
| Does DBM/BigWigs suffice for Cutting Edge? | April 2026 | CE clear rates vs. previous tiers |
| Will Blizzard expand the whitelist under pressure? | March 24+ | Hotfix notes, blue posts |
| Do creative exploits emerge? | March 24-28 | Wowhead/Reddit/Twitch |
| Is the race "better" without full addon support? | April 2026 | Community sentiment, viewership |
๐ญ The Vibecoded Addon Wars of 2026¶
The most dramatic chapter in WoW addon history
This actually happened. Every word is sourced.
When ElvUI initially cancelled development in October 2025, a power vacuum formed in the WoW UI space. What followed was chaos:
Act 1: QuaziiUI¶
Quazii, a content creator, promoted QuaziiUI as the ElvUI replacement. Key facts:
- Marketed as "free until the end of eternity" during The War Within
- Paywalled behind Patreon for Midnight ($$$)
- ElvUI dev Luckyone publicly accused Quazii of literal code theft: "QuaziiUI contains ElvUI code โ not just ideas or similar execution, but literal functions, comments, and references that still point at ElvUI functions."
- Luckyone reported QuaziiUI to Patreon for investigation
- Quazii subsequently deleted his Patreon, Discord, and YouTube and posted a goodbye message
Act 2: NephUI vs. DandersFrames¶
- NephUI launched during beta with Edit Mode integration
- Danders (DandersFrames developer) accused Neph of stealing frame implementations
- NephUI was openly "vibe coded" โ primarily AI-generated Lua
- Danders implemented a forced dialogue making users choose between the two addons, with messaging stating "NephUI is stolen code"
- NephUI shut down January 23, 2026
- Community fork QUI emerged on GitHub
The "Vibecoding" Question¶
The blog post by Kaylriene that documented this drama coined the term: these developers used AI tools to generate code without genuine addon development expertise. It worked โ until it was tested against GPL compliance, community scrutiny, and the actual complexity of WoW's API.
Over 100,000 players were affected by the QuaziiUI/NephUI shutdowns (per Buffed.de estimate).
Sources: โ Kaylriene Blog, โ The Escapist
โฟ The Accessibility Gap¶
The most sympathetic and least resolved issue
Players with disabilities have been among the most vocal and least addressed by Blizzard's changes.
From the official forums:
"I have disabilities, and literally don't know whether Midnight will be playable beyond LFR for me." โ Hallany
"I live with a very severe anxiety disorder that results from CPTSD from military service, and it helps me stay calm enough to perform." โ Vespasion (on rotation helpers as anxiety stabilizers)
"I am profoundly deaf gamer so text to speech is 100% useless." โ SilentKiller (highlighting that Blizzard's Combat Audio Alerts/TTS solution doesn't help deaf players)
Blizzard's Response¶
Blizzard committed to:
- Combat Audio Alerts with Text-to-Speech
- Improved visual/audio telegraphs
- Adjusted encounter pacing with additional reaction time
- Assisted Highlight and One-Button Rotation tools
- Refined Cooldown Manager
The Gap¶
TTS doesn't help deaf players. Pre-configured alert pools don't replace the custom sensory mapping that WeakAuras provided. Assisted Highlight is a start but doesn't match the specificity of custom auras. The accessibility community remains deeply concerned.
Source: โ Blizzard Forums - Accessibility Concerns, โ Blizzard Forums - Disabilities Thread
๐ฑ The New Addon Ecosystem¶
Rising Stars (Verified Downloads)¶
| Addon | Downloads | What It Does | Source |
|---|---|---|---|
| BetterBlizzFrames | 3.9M+ | Enhances native unit frames without touching combat data | โ CurseForge |
| Northern Sky Raid Tools | 3.2M+ | Replaces WeakAura raid packs with timer-based reminders | โ CurseForge |
| HomeBound | 3M+ | Housing achievement tracker with 3D previews | โ CurseForge |
| Platynator | Growing | Midnight-native nameplate addon | โ CurseForge |
| Unhalted Unit Frames | 445K+ | Lightweight Midnight-native unit frames | โ CurseForge |
| MidnightSimpleUnitFrames | 171K+ | Minimalist unit frames | โ CurseForge |
| MidnightUI | Growing | Complete taint-aware UI suite | โ CurseForge |
| Better Timeline | Growing | Enhanced boss timeline | โ Wowhead |
The "Enhance, Don't Replace" Philosophy¶
The dominant design pattern of 2026. Instead of building parallel UI systems, the best new addons enhance Blizzard's native features:
| Addon | Strategy |
|---|---|
| BetterBlizzFrames | Adds options/layouts to native unit frames |
| Arc UI | Custom glow/orientation for native Cooldown Manager |
| BetterCooldownManager | Custom options for native Cooldown Manager |
| BetterAssistant | Wraps native Assisted Highlight into movable icons |
| Details! | Skins the native damage meter data |
| DBM / BigWigs | Reformat native boss timeline and alerts |
The WeakAura-to-Standalone Pipeline¶
A new development pattern: popular WeakAuras rewritten as standalone addons.
| WA โ Addon | Developer | Status |
|---|---|---|
| M+ Timer WA โ MPlusTimer | Reloe | โ Shipped Jan 16 |
| WA Raid Packs โ Northern Sky | Reloe | โ 3.2M+ downloads |
| WA Basic Alerts โ MidnightSimpleAuras | Community | โ Shipping |
Healer Addons: The Scramble¶
| Addon | Status | Notes |
|---|---|---|
| Grid2 | โ WORKING | Fully functional, click-casting via keybinds |
| Clique | โ WORKING | Midnight click-casting support |
| Cell | โ WORKING | Best-documented adaptation (PR #457) |
| VuhDo | โ ๏ธ UPDATED | Had rocky prepatch, now functional |
| Healbot | โ ๏ธ IN DEVELOPMENT | Active beta development |
| Danders Frames | โ GAINING | New replacement gaining traction |
Source: โ Blizzard Forums - Healing Addon Status
๐งช Developer Survival Guide¶
The Secret Values Quick Reference¶
-- DETECT secrets
issecretvalue(value) -- Is this specific value secret?
issecrettable(table) -- Does this table contain any secrets?
canaccesssecrets() -- Can current (untainted) code read secrets?
hasanysecretvalues(table) -- Quick check for secret contamination
-- HANDLE secrets
scrubsecretvalues(table) -- Replace all secrets with nil
secretwrap(func) -- Wrap function for secret-safe execution
-- QUERY restriction state
C_Secrets.HasSecretRestrictions() -- Are restrictions active?
C_Secrets.ShouldSpellCooldownBeSecret() -- Cooldown restriction check
C_Secrets.ShouldAurasBeSecret() -- Aura restriction check
C_RestrictedActions.IsAddOnRestrictionActive() -- Addon restriction state
C_CombatLog.IsCombatLogRestricted() -- Combat log restriction
-- EVENTS
-- ADDON_RESTRICTION_STATE_CHANGED fires when restriction state changes
-- Enum.AddOnRestrictionType: Combat, Encounter, ChallengeMode, PvPMatch, Map
-- Enum.AddOnRestrictionState: Inactive, Activating, Active
Testing CVars (Development Only)¶
/console secretAurasForced 1
/console secretCooldownsForced 1
/console secretUnitIdentityForced 1
/console secretSpellcastsForced 1
/console secretUnitPowerForced 1
/console secretUnitPowerMaxForced 1
/console secretUnitComparisonForced 1
/console addonChatRestrictionsForced 1
Set to 0 to disable. These CVars are non-persistent (reset on relog).
The Graceful Degradation Pattern¶
The #1 pattern every addon developer must implement:
local function UpdateDisplay(unit, spellID)
-- STEP 1: Check if restrictions are active
if C_Secrets.HasSecretRestrictions() then
-- STEP 2: Use Duration Object path for cooldowns
local duration = C_Spell.GetSpellCooldownDuration(spellID)
if duration then
cooldownFrame:SetCooldownFromDurationObject(duration)
end
-- STEP 3: Use boolean-driven visuals for state
local isActive = UnitBuff(unit, spellID)
region:SetAlphaFromBoolean(isActive)
return
end
-- STEP 4: Full access outside restricted contexts
local info = C_Spell.GetSpellCooldown(spellID)
if info.duration > 0 then
cooldownFrame:SetCooldown(info.startTime, info.duration)
end
-- Full aura data available
local aura = C_UnitAuras.GetAuraDataBySpellName(unit, spellName)
if aura then
ShowFullAuraDisplay(aura)
end
end
๐ก Sources¶
Every claim in this report links to a verified source. Here's the complete list, organized by category.
Official Blizzard¶
| Source | URL | Verified |
|---|---|---|
| Combat Philosophy and Addon Disarmament | news.blizzard.com | โ 2026-03-13 |
| Hotfixes March 11 | news.blizzard.com | โ 2026-03-13 |
| Great Addon Purge Updates | us.forums.blizzard.com | โ 2026-03-13 |
| 12.0.5 PTR Development Notes | us.forums.blizzard.com | โ 2026-03-13 |
| Accessibility Concerns | us.forums.blizzard.com | โ 2026-03-13 |
| Healer Addons in Midnight | us.forums.blizzard.com | โ 2026-03-13 |
| Healing Addon Status | us.forums.blizzard.com | โ 2026-03-13 |
API Documentation (Warcraft Wiki)¶
| Source | URL | Verified |
|---|---|---|
| Patch 12.0.0 API Changes | warcraft.wiki.gg | โ 2026-03-13 |
| Patch 12.0.0 Planned API Changes | warcraft.wiki.gg | โ 2026-03-13 |
| Patch 12.0.1 API Changes | warcraft.wiki.gg | โ 2026-03-13 |
| Secret Values | warcraft.wiki.gg | โ 2026-03-13 |
| COMBAT_LOG_EVENT | warcraft.wiki.gg | โ 2026-03-13 |
| hooksecurefunc | warcraft.wiki.gg | โ 2026-03-13 |
| Hooking Functions | warcraft.wiki.gg | โ 2026-03-13 |
| Settings API | warcraft.wiki.gg | โ 2026-03-13 |
| Addon Compartment | warcraft.wiki.gg | โ 2026-03-13 |
| TOC Format | warcraft.wiki.gg | โ 2026-03-13 |
| RegisterEventCallback | warcraft.wiki.gg | โ 2026-03-13 |
| Making Scrollable Frames | warcraft.wiki.gg | โ 2026-03-13 |
Gaming Press¶
| Source | URL | Verified |
|---|---|---|
| PC Gamer โ Ion on Combat Addons | pcgamer.com | โ |
| PC Gamer โ Don't Miss Combat Addons | pcgamer.com | โ |
| PC Gamer โ Classes Pruned | pcgamer.com | โ |
| GamesRadar โ Ion Interview | gamesradar.com | โ |
| PCGamesN โ WeakAuras Update | pcgamesn.com | โ |
| Screen Rant โ Addon Controversy | screenrant.com | โ |
| The Escapist โ Shockingly Controversial | escapistmagazine.com | โ |
| BlizzardWatch โ What's Happening | blizzardwatch.com | โ |
Community News¶
| Source | URL | Verified |
|---|---|---|
| Wowhead โ No WeakAuras | wowhead.com | โ |
| Wowhead โ Whitelisted Spells | wowhead.com | โ |
| Wowhead โ Boss Mods in Midnight | wowhead.com | โ |
| Wowhead โ DBM & BigWigs Meet Ion | wowhead.com | โ |
| Wowhead โ Damage Meter Shortcomings | wowhead.com | โ |
| Wowhead โ Addons Still Provide Advantage | wowhead.com | โ |
| Wowhead โ Nameplates in Midnight | wowhead.com | โ |
| Wowhead โ Unit Frame Addons | wowhead.com | โ |
| Wowhead โ Healer Spells Un-Secreted | wowhead.com | โ |
| Wowhead โ MPlusTimer Standalone | wowhead.com | โ |
| Wowhead โ Macro Changes | wowhead.com | โ |
| Wowhead โ API Changes RC | wowhead.com | โ |
| Icy Veins โ Relaxing Limitations | icy-veins.com | โ |
| Icy Veins โ WeakAuras Responds | icy-veins.com | โ |
| Icy Veins โ ElvUI Done | icy-veins.com | โ |
| Icy Veins โ Cell Stripped-Down | icy-veins.com | โ |
| Warcraft Tavern โ ElvUI Limbo | warcrafttavern.com | โ |
| Kaylriene โ Vibecoded Wars | kaylriene.com | โ |
| Kaylriene โ API Analysis | kaylriene.com | โ |
Developer Sources¶
| Source | URL | Verified |
|---|---|---|
| Cell PR #457 | github.com | โ |
| WeakAuras Patreon Statement | patreon.com | โ |
| AllTheThings Tooltip Issue | github.com | โ |
| Wago Security Notice | accounts.wago.io | โ |
Addon Distribution¶
| Source | URL | Verified |
|---|---|---|
| CurseForge โ Details! | curseforge.com | โ |
| CurseForge โ DBM | curseforge.com | โ |
| CurseForge โ BigWigs | curseforge.com | โ |
| CurseForge โ BetterBlizzFrames | curseforge.com | โ |
| CurseForge โ Northern Sky | curseforge.com | โ |
| CurseForge โ HomeBound | curseforge.com | โ |
| CurseForge โ HomeDecor | curseforge.com | โ |
| CurseForge โ Platynator | curseforge.com | โ |
| CurseForge โ Unhalted UF | curseforge.com | โ |
| CurseForge โ MidnightSimpleUF | curseforge.com | โ |
| CurseForge โ MidnightUI | curseforge.com | โ |
| CurseForge โ MRT | curseforge.com | โ |
| CurseForge โ Cell | curseforge.com | โ |
| CurseForge โ PlsFixMe Tooltips | curseforge.com | โ |
| Tukui โ ElvUI | tukui.org | โ |
๐ The Bottom Line¶
Eleven days in. The dust hasn't settled. Here's where we stand:
What Blizzard wanted: Addons that change how things look, not how players play. A level competitive playing field. Native tools replacing addon dependencies.
What actually happened: Combat addons contracted sharply. Housing addons exploded. The "enhance, don't replace" philosophy took root. But competitive players lost tools they relied on, accessibility gaps remain unresolved, and the first real stress test โ Mythic raids โ hasn't happened yet.
What comes next: March 24, 2026. Mythic raids. The Race to World First. The first time in over a decade that the best guilds in the world face the hardest content without WeakAuras, without CLEU parsing, and without independent mechanic detection.
That's when we find out if the Addon Disarmament was a masterstroke or a mistake.
Bookmark this page
This report will be updated after Season 1 launches (March 17), after Mythic raids open (March 24), and after Patch 12.0.5 API changes are announced.
Report compiled from 9 research reports, 50+ web searches, 60+ page fetches, and verification against live 12.0.1 data. Every claim tagged with โ (CONFIRMED), โ ๏ธ (LIKELY), or โ (UNVERIFIED).
Cell PR #457 remains the single best technical resource for addon developers adapting to Midnight.