Skip to content

๐Ÿ”ฅ 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:

  1. The game must be fully playable without addons (check โ€” Blizzard built native damage meter, boss timeline, cooldown manager)
  2. The UI must be self-contained (check โ€” Secret Values prevent addon-dependent competitive advantages)
  3. 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_END events
  • UNIT_SPELLCAST_SUCCEEDED event

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):

  1. Ability to compute new secret values from existing ones
  2. Reverting restrictions for personal combat state only
  3. 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.