!ClassicEraFixes
A tiny, safe compatibility shim for WoW Classic Era 1.15.9.
Patch 1.15.9 moved a batch of global API functions into C_* namespaces and — unlike most retail deprecations — shipped no compatibility layer for the old global names. Addons that haven't been updated call those names and throw Lua errors. !ClassicEraFixes restores the removed globals so those addons keep working until their authors catch up.
It installs first (the leading ! sorts it ahead of every other addon), does its work silently, and then stays out of the way.
What it restores
- The whole pre-
C_AddOnsfamily —IsAddOnLoaded,GetAddOnMetadata,LoadAddOn,EnableAddOn,GetAddOnInfo,GetAddOnEnableState, and the rest StripHyperlinksGuildRosterSwapChatChannelByLocalIDGetWatchedFactionInfoDebuffTypeColor— rebuilt from Blizzard's live aura dataChatFrame_OnHyperlinkShowandTargetFrame_Update— restored so addons that hook them (viahooksecurefunc) keep firing
Why it's safe to leave installed
Every single restoration is double-guarded: it acts only when the old global is actually missing and its modern replacement exists on the client you're running. On any client where Blizzard still provides the original function, the addon does nothing at all. No configuration, no saved variables, and no runtime overhead after login.
What it is NOT
This is not a fix-all. It restores a specific, verified set of APIs that 1.15.9 removed. It does not patch bugs inside individual addons, and it won't fix breakage caused by anything other than those removed globals.
Install
- Download and extract into:
World of Warcraft/_classic_era_/Interface/AddOns/ - Keep the folder named !ClassicEraFixes — the leading
!is what makes it load first.
Or just use the CurseForge app.
Bugs / requests
Found an addon still erroring on a removed 1.15.9 global that isn't listed above? Open an issue on GitHub with the exact Lua error and the addon's name: https://github.com/David-c0degeek/ClassicEraFixes
License
MIT. Open source — contributions welcome.

