File Details
v0.18.0
- R
- Jun 22, 2026
- 54.86 KB
- 23
- 12.0.7+1
- Retail
File Name
NuttUI-v0.18.0.zip
Supported Versions
- 12.0.7
- 12.0.5
NuttUI
v0.18.0 (2026-06-22)
Full Changelog Previous Releases
- Merge pull request #8 from anthonyiles/develop
Integrate PRs #3, #5, #6 into develop (#7) - Integrate PRs #3, #5, #6 into develop (#7)
- fix: resolve statusBar global leak and broken lock toggle
B1: declare statusBar as local in Tooltip.lua to prevent global namespace pollution
B2: call UpdateLayout after toggling databar lock so the bar's drag state updates immediately - perf: eliminate unnecessary per-frame and per-loop work
P1: register MapCoordinates OnUpdate only while WorldMap is open — zero cost when closed
P2: skip bar width recalculation in GenericUpdateSlot when text has not changed
P3: move force-update pass to after the slot setup loop to avoid N^2 width recalculations
P5: cache UnitClass at module level instead of calling it per bag slot during scans
P6: move UnitLevel call above the ApplyHighlights loop instead of calling it per frame - refactor: eliminate duplicated logic across databar slots and utils
D2: Friends slot reuses Update cache in OnClick instead of re-iterating the API
D3: Guild slot reuses Update cache in OnClick instead of re-iterating GetGuildRosterInfo
D4: AutoRoleAccept uses shared NuttUI:IsModifierActive instead of duplicating modifier checks - refactor: lift closures to module level to reduce GC pressure
G1: IsValidUpgrade moved to module scope so it is allocated once, not on every bag update
G2: SellJunkTick moved to module scope with module-level state, not recreated on each merchant visit - refactor: structural improvements to init system, settings, and API naming
S1: modules self-register via NuttUI.modules table — ADDON_LOADED now iterates one list instead of 12 manual guards
S2: CreateOptions moved into ADDON_LOADED so NuttUIDB is always initialized when settings panel is built
S3: Databar:Create renamed to GetOrCreate to reflect its actual behaviour
S4: remove 27 redundant NuttUIDB nil guards from settings setters
S5: merge two duplicate GameTooltip OnShow hooks into one - chore: minor cleanup and noise reduction
N1: remove duplicate preferredIndex keys in Notes StaticPopupDialogs
N2: remove dead local defaults table in BagUpgrade that contradicted main defaults
N3: remove global slider frame names, capture child references as locals instead
N4: correct misleading comment about UpdateAddOnMemoryUsage vs collectgarbage - fix: address CodeRabbit review findings from PR #3
- Restore unique names on Databar width/height/slots sliders so
OptionsSliderTemplate globals (Low/High/Text) can be resolved;
nil names caused a Lua error opening the Databar settings panel - Fix Guild isSelf cross-realm comparison: use baseName (pre-hyphen)
vs UnitName("player") so players on connected realms are correctly
excluded from their own invite/whisper context menu - Add CLAUDE.md and REVIEW.md to .pkgmeta ignore list so they are
excluded from CurseForge/Wago/WoWInterface release packages - Update CLAUDE.md: add lua fence tag to SavedVariables block, update
"Adding a new module" step 3 to use NuttUI.modules registry, clarify
DeleteMessage is intentionally outside the module system
- fix(time-slot): call UpdateSlot instead of undefined UpdateInternal
Right-click toggle to switch server/local time silently did nothing
because UpdateInternal is never assigned; UpdateSlot is the correct
method wired by Core.lua as GenericUpdateSlot. - refactor: rename short and ambiguous variables for readability
Replace 1-2 letter variable names with descriptive alternatives across all
modules. Covers loop variables (f, m, k, b/s), parameter names (table, p),
function names (CreateFontString local), and abbreviations (fs, origOnShow,
region_pct, d, sortedKeys). - fix(time-slot): persist local/server time toggle across reloads
Saves showLocal to NuttUIDB.TimeShowLocal on toggle and restores it on
first Update call. Also fixes broken UpdateInternal call — replaced with
UpdateSlot for immediate redraw after toggle.
- fix: resolve statusBar global leak and broken lock toggle