4.1.0-universal
What's new
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog.
[4.1.0-universal] - 2026-09-28
Added
- WoW Forever support:
UnitFramesImproved_Camelot.toc(## Interface: 16001). Forever's game type is "Camelot" in Blizzard's UI code, and_Camelot.tocis the suffix both the client and the CurseForge packager pick up for it. Forever runs Retail's Mainline unit frame templates (plus small Camelot-only overrides that don't touch anything styled here), so it loads the Retail styler unchanged. - Options page (Options -> AddOns -> UnitFramesImproved, also opened by
/ufi) built on Blizzard's native Settings API, with a Status Text dropdown (Numeric Value / Percentage / Both / None) - WoW Forever has no visible setting for showing health/mana numbers on the unit frames. It's backed by the samestatusText/statusTextDisplayCVars as Blizzard's own Status Text option, so the two stay in sync on every client. Switching between two shown modes (e.g. Numeric to Both) turnsstatusTextoff and back on within the same frame, since Blizzard's status bars only redraw their labels when that changes - so the new mode shows right away. Changes picked in combat or under an addon restriction (encounter, Mythic+, PvP match, restricted map) are held until it ends, since the change runs Blizzard's status bar updates synchronously from addon code. build.ps1deploys to_classic_beta_(the WoW Forever beta install) too.tests/: offline regression tests (Python +lupa, a real Lua 5.1 runtime) that load the addon into a stubbed WoW client once per TOC and check loading, events, styling, the options page, and packaging. Never loaded in game or packaged.
Changed
- Removed the Ace3/LibStub dependency (AceAddon, AceEvent, AceConsole, CallbackHandler). Events now
go through one private event frame and slash commands through
SlashCmdList- Blizzard's own APIs, identical on every client. No more.pkgmetaexternals,Libs/folder,LICENSE-ACE3.txt, or library fetching inbuild.ps1(which still recognizes the oldLibs//LICENSE-ACE3.txtwhen replacing a previous deploy). /ufiand/unitframesimprovednow open the options page instead of printing a message.- The "Initializing... / Initialized." chat lines on every login are gone (they came from the Ace3
OnInitializehook).
Fixed
- Retail: stopped writing
forceShow/textLockableontoPlayerFrame/TargetFrame/FocusFrame. Nothing reads those on the unit frame (Blizzard's text logic reads them on the status bar), so they never forced the text visible - they only wrote addon fields onto Blizzard's secure frames.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects