Skip to content

Releases: Mapkov2/MidnightSimpleUnitFrames

MSUF 5.58

08 Jun 13:12

Choose a tag to compare

5.58 - 2026-06-08

Fixes

  • Fixed missing-health text formatting for imported profiles with secret health values.

MSUF 5.57

04 Jun 09:12

Choose a tag to compare

5.57 - 2026-06-04

Edge Case Fixes

  • Fixed a rare health-bar smoothing edge case where preserved HP color could leave a transparent strip while the bar was shrinking.
  • Improved Blizzard party-frame fallback behavior when MSUF group frames are disabled, including arena and login/zone-change cases where Blizzard frames could be missing or briefly ghosted while solo.
  • Hardened gameplay font application so profiles that reference missing SharedMedia or disabled addon fonts fall back safely instead of producing font asset errors.
  • Refreshed group-frame range fade after instance, roster, and combat transitions so players who join or zone into an instance out of combat no longer stay faded as out of range until combat or /reload.
  • Improved the missing buff scan for rare readable-aura edge cases.

Compatibility and Safety

  • Added a clear WoW 12.1 compatibility warning for MSUF 5.x users, with localized popup and chat messaging that points users to the current Alpha/Beta build for WoW 12.1.
  • Kept secret-aura handling conservative while improving missing buff detection.

Performance Notes

  • Kept the new range recovery finite and event-driven instead of adding constant polling.
  • Kept the missing buff scan on the existing cached aura path where possible.
  • Kept the new font and Blizzard-frame safeguards on cold apply/login paths.

MSUF 5.56

30 May 11:35

Choose a tag to compare

5.56 - 2026-05-30

Critical Fixes

  • Fixed group-frame smooth health and power fill not animating because the group-frame runtime cache read an unset interpolation value instead of Blizzard's status-bar interpolation enum.
  • Fixed Blizzard-rendered group-frame private aura cleanup during roster or instance transitions so Blizzard can remove stale private aura anchors even after its settings handler has already been cleared.

Mark hotfix as 5.55

29 May 15:21

Choose a tag to compare

5.55 - 2026-05-29

Critical Fixes

  • Fixed Blizzard-rendered group-frame private auras reusing a stale Blizzard settings-change handler after instance or roster transitions.
  • Fixed group-frame absorb and heal-absorb overlays drawing over the normal frame outline on party and raid frames.
  • Fixed an edge case where active debuffs could drop off the display even while they were still running.
  • Fixed cold-start font application so unit-frame text relayouts after the configured font becomes available, preventing wrong text anchoring after login or reload.

MSUF 6.0 Alpha 2

27 May 14:30

Choose a tag to compare

MSUF 6.0 Alpha 2 Pre-release
Pre-release

6.0 Alpha 2 - 2026-05-27

Release Channel

  • Alpha-only release for CurseForge and Wago.
  • Wago stability must be alpha; this build is not stable.
  • CurseForge release type must be alpha.
  • The 6.0 line is still a complete backend rewrite from the 5.54/5.x runtime stack, with group frames, unit frame core, Auras3, and castbar integration running through the new backend.

Backend Rewrite Follow-Up

  • Folded the separate castbar addon tree into the core addon package so the 6.0 backend ships as one coordinated addon instead of a split runtime.
  • Kept the castbar runtime, boss castbar preview, channel ticks, empower handling, focus kick state, and player castbar bridge in the core package load order.
  • Trimmed unit frame hot paths in health, prediction, text formatting, group aura cache, core dispatch, and frame factory code.
  • Reduced disabled-feature overhead further after Alpha 1, especially around group aura cache scans and repeated unit-frame update paths.
  • Added MSUF_UF_DispelState as the shared state resolver for dispel overlays, glow, border, and group-frame visual consumers.

Fixes

  • Fixed absorb, heal prediction, and heal absorb placement so bars use safer resolved anchors and avoid secret-value comparison failures.
  • Restored scoped dispel glow and aggro border behavior for the rewritten visual backend.
  • Fixed group frame visual config paths for dispel borders, glow, and indicator consumers.
  • Optimized 2D portrait refresh so portrait visuals avoid unnecessary rebuild work when the visual state did not change.
  • Fixed texture/runtime handling used by bars and prediction previews after the backend rewrite.

Group Frame Preview

  • Added the same preview controls used by Unit Frame Preview: zoom buttons, Fit, 1:1, Ctrl + mouse wheel zoom, and canvas panning.
  • Added Ctrl + left-drag, right-drag, and middle-drag panning for the group preview canvas.
  • Kept handle dragging stable while the preview refreshes by freezing preview scale during drag.
  • Updated preview hints and tooltips so zoom, pan, arrow nudging, Shift nudging, and Ctrl nudging are visible in the UI.

Menu And Aura Editing

  • Split Auras3 options into scoped menu sections instead of one overloaded page.
  • Updated menu search data and search indexing for the new aura and group-frame sections.
  • Improved group aura menu bindings for the rewritten group backend.

Known Alpha Notes

  • This is still an alpha build. Test profile migration, group frame layout, castbars, aura rendering, dispel overlays, aggro borders, prediction bars, click-casting, Clique, and Wago/CurseForge channel handling.
  • The release tag for this build is 6.0-alpha2; alpha tags are expected to publish to Wago as alpha, never stable.

MSUF_5.54

27 May 05:45

Choose a tag to compare

5.54 - 2026-05-27

Fixes

  • Fixed Blizzard-rendered group-frame private auras reusing a stale Blizzard settings-change handler after instance or roster transitions.
  • Fixed group-frame absorb and heal-absorb overlays drawing over the normal frame outline on party and raid frames.

MSUF 6.0 Alpha 1

26 May 22:30

Choose a tag to compare

MSUF 6.0 Alpha 1 Pre-release
Pre-release

6.0 Alpha 1 - 2026-05-27

Release Channel

  • Published as the first 6.0 alpha build.
  • This build is intentionally an alpha because it replaces large runtime systems from 5.53 with the new UnitFrame Core, Auras3, and rewritten Group Frame backend.
  • GitHub Actions now derives the release channel from the tag name. Tags containing alpha resolve to Wago alpha and CurseForge alpha.
  • The release workflow now has a hard alpha-channel assertion so alpha tags fail the workflow instead of silently publishing as beta or release.
  • Local Wago and CurseForge publish scripts now also resolve alpha tags to alpha when run outside GitHub Actions.

6.0 Backend Rewrite

  • Replaced the old 5.53 standalone runtime-heavy unit frame architecture with the shared UnitFrames/Core runtime.
  • Added a central element registration model for health, power, text, prediction, alpha, borders, status, auras, class power, castbar bridges, and group-frame-specific elements.
  • Added per-frame active-element tracking so disabled elements do not register events and do not execute in combat hot paths.
  • Added a compiled spec model that converts profile/menu configuration into runtime specs consumed by shared core elements.
  • Added scoped apply masks so small menu changes can refresh only the affected runtime elements.
  • Added dirty masks for geometry, visuals, fonts, colors, borders, layout, and auras.
  • Reduced broad refresh behavior from the 5.53 group frame stack by routing updates through targeted masks where possible.
  • Added cached group-frame compiled specs per scope, with per-button patching only for unit-specific fields.
  • Added explicit cold-path behavior for disabled group features so inactive text, indicators, overlays, and aura systems do not stay active during combat.
  • Added group-frame name cold-path handling: group names are updated out of combat and kept fixed during combat.
  • Added static health-color cold-path handling so class color, custom color, dark mode, and other static colors do not re-run on every health event.
  • Kept gradient health coloring dynamic only when the selected mode requires runtime health-based color changes.
  • Added direct group-frame range fade event handling without a ticker.
  • Group range fade now uses only the required WoW events: UNIT_PHASE, UNIT_IN_RANGE_UPDATE, UNIT_CTR_OPTIONS, and UNIT_OTHER_PARTY_CHANGED.
  • Removed the old multi-timer group header scan ladder and replaced it with immediate scan plus one delayed fallback.
  • Added header-child attribute hook handling so secure header unit assignment is detected reliably after dungeon/zone roster changes.
  • Fixed party/raid visibility separation so party frames do not duplicate raid frames in a 5-player party, and raid frames only show when actually in raid.
  • Added stronger zone/dungeon roster recovery through PLAYER_ENTERING_WORLD, roster updates, difficulty changes, and zone changes.
  • Added out-of-combat deferred group runtime rebuild handling for secure-frame-safe behavior.
  • Kept secure header layout changes out of combat.

Auras3 Runtime

  • Replaced Auras2 with Auras3 for unit frame and group frame custom aura rendering.
  • Added shared Auras3 runtime for player, target, focus, boss, and group frames.
  • Added Auras3 lane-based custom buff, debuff, and defensive/external rendering.
  • Added aura runtime config generation so menu changes invalidate cached aura layout only when needed.
  • Added reusable aura slot buffers instead of allocating fresh slot tables for every scan.
  • Added UNIT_AURA delta handling for added, updated, and removed aura instance IDs.
  • Kept full aura scan fallback for full updates or unknown delta payloads.
  • Added native Blizzard aura routing for group frames.
  • Blizzard-rendered group aura blocks are now eventless on the addon side and are only applied/refreshed when configuration or layout changes.
  • Added per-aura lane filtering with support for Blizzard API filters, blacklist categories, custom lane limits, and defensive aura routing.
  • Added custom aura cooldown text and stack text support through shared Auras3 logic.
  • Added secret-safe cooldown duration handling by passing duration objects directly to Blizzard cooldown APIs.
  • Removed all pcall usage from Auras3 runtime, cooldown text, Masque registration, and Auras3 menu refresh callbacks.
  • Auras3 now uses guarded direct calls instead of defensive pcall wrappers.
  • Masque integration for group custom aura icons is still supported without pcall.
  • Added cooldown text color bucket support with safer handling for secret values.
  • Added Auras3 edit-mode integration and live preview support.
  • Added group preview awareness for custom aura handles and Blizzard-locked aura blocks.

Group Frame Rewrite

  • Replaced the 5.53 GroupFrames/MSUF_GF_* runtime stack with a smaller backend built on UnitFrames/Core/Group.
  • Added group-frame config compiler that maps old profile keys to shared core specs.
  • Added group-frame adapter for secure header children and UF core attachment.
  • Added group-frame header manager for party, raid, and mythic raid scopes.
  • Added group-frame runtime manager for rebuilds, visibility, dirty refreshes, name updates, combat deferral, and Blizzard ownership.
  • Added group-frame Blizzard ownership module for party and raid fallback behavior.
  • Added group-frame aura cache module with reusable per-frame snapshots.
  • Added group-frame aura cache incremental update support.
  • Added group-frame aura snapshot maps by spell ID and aura name for fast indicator lookup.
  • Added aura snapshot source maps for player-cast helpful and harmful auras.
  • Added group visuals module for target/focus highlights, health fade, dispel overlay, debuff stripe, and border aura state.
  • Added group status module for range fade and status runtime events.
  • Added group indicators module for corner indicators and spell indicators.
  • Added group Auras3/Blizzard aura bridge module.
  • Added private aura bridge for group frames.
  • Added spell registry and spell-indicator data under the new group core.
  • Added group frame scan tracking without writing unsafe data to secure child userdata.
  • Added group frame untracking cleanup for retired header children.
  • Added click-casting support for group frames.
  • Group frames now register into Blizzard _G.ClickCastFrames when the scope toggle is enabled.
  • Group frames now register with Clique when Clique is available and the game is out of combat.
  • Added Layout > General > Click casting / Clique toggle.
  • Click-casting is enabled by default for group scopes.
  • Click-casting registration refreshes after combat lockdown ends.
  • Disabling click-casting for a scope unregisters those frames from ClickCastFrames and Clique where possible.

Group Frame Performance

  • Added true cold-path behavior for disabled group features.
  • Disabled raid markers, role icons, status icons, spell indicators, corner indicators, overlays, aura lanes, power text, HP text, and name text do not keep hot event handlers active.
  • Group names do not update during combat.
  • Static health colors do not update on every health event.
  • Spell indicators compile only the active player spec.
  • Spell indicators skip the item loop when no watched IDs or names exist in the aura snapshot.
  • Group aura cache registers for UNIT_AURA only when an enabled feature needs it.
  • Custom Auras3 lanes use incremental updates where possible.
  • Blizzard-rendered group auras have no addon-side UNIT_AURA loop.
  • Group range fade does not use tickers.
  • Group frame refresh functions now preserve kind/mask information across public global shims.
  • Font changes refresh font/text elements only.
  • Border changes refresh border and dependent visual elements only.
  • Aura changes refresh aura-related elements only.
  • Visual changes avoid forcing full button re-apply where a dirty mask is sufficient.
  • Compiled group specs are cached by scope and invalidated on config/profile/menu changes.
  • Per-frame spec patching only updates the fields that vary by unit: unit token, key, role, and effective power height.
  • Removed large 5.53-style scan amplification for common hot events.

Group Frame Frontend

  • Added redesigned group frame menu pages split by task: layout, bars/text, indicators/status, auras, and preview.
  • Added scope selector for Party, Raid, and Mythic Raid.
  • Added scope reset and copy controls.
  • Added live group frame preview with layer handles.
  • Added locked Blizzard aura preview block to show native aura placement without pretending it can be dragged.
  • Added preview layer toggles for buffs, debuffs, externals, Blizzard, status, spell indicators, private auras, cooldown/stack text, and text.
  • Added preview drag handles for custom layer positions.
  • Added keyboard nudge behavior for selected preview handles.
  • Added Show Preview section.
  • Added General, Layout, Sorting, Frame Scaling, Transparency, Anchoring, and Tooltip sections.
  • Added Health Colors, Bars, Power Bar, Text, Dispel Overlay, Debuff Stripe, and Range Fade sections.
  • Added Indicators, Status Icons, Spell Indicators, and Corner Indicators sections.
  • Added group aura configuration for Buffs, Debuffs, Defensives, and Private Auras.
  • Added Auras3 group aura display controls for Blizzard/custom renderer routing.
  • Added per-aura-type Blizzard routing toggles for buffs, debuffs, dispels, defensives, and private auras.
  • Added Blizzard aura icon size, organization, strata, frame-level offset, cooldown text, dispel highlight, and private aura layering options.
  • Added custom aura lane controls for icon count, size, growth, wrap, spacing, offsets, cooldown text, and stack text.
  • Added aura blacklist/filter UI paths through the Auras3 menu model.
  • Added spell indicator editor with per-spec spell lists, placement controls, effect controls, cooldown text, and drag sorting.
  • Added corner indicator editor with custom spell ID support.
  • Add...
Read more

MSUF 5.53

25 May 22:14

Choose a tag to compare

5.53 - 2026-05-26

Critical Fixes

  • Fixed target, focus, and boss frame alpha/background recovery after combat so frames no longer need a target swap or reload to restore missing backgrounds.
  • Fixed post-combat range fade handling so combat end restores cached alpha/background state instead of running an expensive range scan or full alpha refresh.
  • Fixed group-frame range fade incorrectly fading the player/self frame
  • Fixed stale absorb, shield, and heal-absorb overlays that could stay visible after the target no longer had an active absorb or heal absorb.
  • Fixed group-frame secure-button recovery after login, reload, and party/raid changes so blank party or raid frames are reconciled without requiring /reload.
  • Fixed CDM/custom-anchor login timing so unit frames keep their cached screen position until Blizzard EditMode or the configured anchor is available, instead of saving wrong UIParent offsets.
  • Added a legacy no-op anchor for old Blizzard EditMode layouts that still reference EssentialCooldownViewer_MSA_Container, preventing repeated CDM SetPoint warnings after removing the old MSA dependency.

Menu and Preview Fixes

  • Fixed Buff Reminders checkboxes so the full label row is clickable again.
  • Fixed Global Ignore List checkboxes and the per-unit override toggle so their click areas match the visible controls.
  • Fixed Unit Auras scope/override clipping in compact or scaled menu layouts.
  • Fixed Group Frame Aura Display Mode clipping by making the Blizzard aura routing and layering controls responsive in narrow menu layouts.
  • Added a castbar size label to the Unit Frame preview so castbar width and height are visible while editing.

Performance and Stability

  • Kept alpha/range fixes cached and event-driven, avoiding broad post-combat frame sweeps.
  • Kept absorb and heal-absorb cleanup on the existing prediction update paths with secret-safe positive-value checks.
  • Improved post-login group-frame recovery through delayed live-frame reconciliation without adding constant polling.
  • Kept late anchor recovery event-driven with a short, finite retry window only for profiles that actually use CDM, custom, or unit-frame anchors.

MSUF 5.52

22 May 23:50

Choose a tag to compare

5.52 - 2026-05-23

Critical Fixes

  • Fixed the Dashboard Edit frames button so it no longer calls private Menu2 core helpers that are not visible from the dashboard module.
  • Restored the dashboard Edit Mode toggle path while keeping the existing combat-lock handling and menu frame priority refresh.

MSUF 5.51

22 May 18:03

Choose a tag to compare

5.51 - 2026-05-22

Critical Fixes

  • Fixed a critical edge case where selected debuff dispel-type filters could hide unrelated debuffs globally instead of only narrowing the dispellable-debuff exception.
  • Fixed Aura Filters menu checkbox hitboxes and labels so the dispel and include toggles are easier to click and only active when they affect the current filter setup.