v2.1.0

Details

  • Filename
    Skada-v2.1.0.zip
  • Uploaded by
  • Uploaded
    Jun 20, 2026
  • Size
    577.51 KB
  • Downloads
    5,749
  • MD5
    62a689b888cfaad3f3501db1966b614e

Supported WoW Retail Versions

  • 12.0.5
  • 12.0.1

Changelog

Skada

v2.1.0 (2026-06-20)

Full Changelog Previous Releases

  • cleanup: bug fixes, UI polish, encounter names, GitHub release workflow
    Fixes:
    • RemoveMode/RemoveFeed now correctly remove modes and feeds
    • Tooltip class colors no longer shadowed by local variable
    • Remove dead /skada pets command and OptionsSetup override
    • Delete broken Tweaks.lua (referenced removed cleuHandler)
    • Guard DebugLogSource against secret value crashes
    • Guard encounter name access with type() checks for secret values
    • Wrap mode Update in pcall to prevent display-killing crashes
      UI:
    • FormatNumber detailed format now produces thousands separators
    • InlineDisplay: fix menu double-anchor, localize hardcoded strings,
      remove debug print and dead code
    • Show encounter names in segment labels and title bar
      Workflow:
    • Add permissions: contents: write to release workflow
    • Bump actions/checkout to v4
    • Add explicit GitHub Release upload step on tag pushes
  • fix: threat mode etc
  • Fix UI not refreshing in realtime (#6)
    • Fix stale UI: invalidate NativeAPI session cache on updates
      The NativeAPI view/source cache held Blizzard session snapshots for 500ms
      while Skada's Tick timer fires every 250ms. Every other tick reused the
      previous snapshot, so bar values, totals and the DPS feed froze for half
      a second at a time even though we were 'refreshing' 4x per second.
    • Shorten the cache TTL to 100ms so a missed event still recovers fast.
    • Add NativeAPI:InvalidateCache() that wipes the results table.
    • Call it from DAMAGE_METER_COMBAT_SESSION_UPDATED and
      DAMAGE_METER_CURRENT_SESSION_UPDATED so the next Tick() always reads a
      fresh C_DamageMeter snapshot after Blizzard signals a change.
    • Fix stale UI: always re-sort bars after dataset update
      BarDisplay.mod:Update used a 'lazy sort' guard that compared
      win.bargroup.barCount captured at the start of the function with the same
      field read again at the end. barCount is only assigned inside
      barListPrototype:SortBars() (SpecializedLibBars-1.0.lua), and nothing
      inside the Update body touches it, so the two reads were always equal.
      The guard therefore collapsed to 'sort only if maxvalue changed or
      ordersort is set', which suppressed re-sorts when:
      • rankings below the top bar changed (top value unchanged)
      • new bars were created via mod:CreateBar / NewCounterBar
      • stale bars were removed via RemoveBar
        Newly added bars sat unpositioned until the top value happened to move,
        making the window look frozen mid-combat.
        Remove the guard and always sort. Sorting a few dozen bars per tick is
        negligible cost and matches the pre-optimization behaviour.
    • Apply 'Update frequency' option without /reload
      ScheduleRepeatingTimer was only called once at OnEnable using the current
      value of db.profile.updatefrequency, so changing the slider in the
      Options panel did nothing until the addon was reloaded.
      Store the timer handle as self.tickTimer and add
      Skada:ApplyUpdateFrequency() which cancels and reschedules it. Wire the
      Options setter to call it after persisting the new value.