Skip to content

Releases: Rubyj/CooldownTracker

v1.7.2

12 May 18:45

Choose a tag to compare

Healer Cooldown Tracker

v1.7.2 (2026-05-12)

Full Changelog Previous Releases

  • Merge branch 'main' of github.com:Rubyj/CooldownTracker
  • feat: add evoker rewind and dreamflight (#19)
    • Add CurseForge publishing support and MIT license
    • Add CF_API_KEY to release workflow for CurseForge uploads
    • Add LICENSE (MIT)
    • Add curseforge_logo.png and curseforge_description.md
    • Update .pkgmeta to exclude new non-addon files from zip
    • chore: add CurseForge project ID to .pkgmeta
    • Update to WoW 12.0.5 (Interface 120005), add Monk abilities (Revival, Celestial Conduit, Invoke Yu'lon)
    • chore: bump version to 1.7.1
    • feat: add Evoker Rewind and Dream Flight cooldowns (v1.7.2)
  • Merge branch 'main' of github.com:Rubyj/CooldownTracker
  • chore: bump version 1.7.1 (#18)
    • Add CurseForge publishing support and MIT license
    • Add CF_API_KEY to release workflow for CurseForge uploads
    • Add LICENSE (MIT)
    • Add curseforge_logo.png and curseforge_description.md
    • Update .pkgmeta to exclude new non-addon files from zip
    • chore: add CurseForge project ID to .pkgmeta
    • Update to WoW 12.0.5 (Interface 120005), add Monk abilities (Revival, Celestial Conduit, Invoke Yu'lon)
    • chore: bump version to 1.7.1

v1.7.1

22 Apr 00:40

Choose a tag to compare

Healer Cooldown Tracker

v1.7.1 (2026-04-22)

Full Changelog Previous Releases

  • chore: bump version to 1.7.1
  • Merge branch 'main' of github.com:Rubyj/CooldownTracker
  • fix: monk icon paths (#17)
    • Add CurseForge publishing support and MIT license
    • Add CF_API_KEY to release workflow for CurseForge uploads
    • Add LICENSE (MIT)
    • Add curseforge_logo.png and curseforge_description.md
    • Update .pkgmeta to exclude new non-addon files from zip
    • chore: add CurseForge project ID to .pkgmeta
    • Update to WoW 12.0.5 (Interface 120005), add Monk abilities (Revival, Celestial Conduit, Invoke Yu'lon)
    • fix: correct icon paths for Celestial Conduit and Invoke Yu'lon
    • fix: resolve Monk spell icons dynamically via C_Spell.GetSpellTexture()
      Newer WoW spells use numeric FileIDs instead of string icon paths.
      Added spellId field to Monk entries and CT:ResolveIcons() helper
      that overwrites string paths with real textures at ADDON_LOADED time.

v1.7.0

22 Apr 00:24

Choose a tag to compare

Healer Cooldown Tracker

v1.7.0 (2026-04-22)

Full Changelog Previous Releases

  • Merge branch 'main' of github.com:Rubyj/CooldownTracker
  • feat(wow): 12.0.5 & monk abilities (#16)
    • Add CurseForge publishing support and MIT license
    • Add CF_API_KEY to release workflow for CurseForge uploads
    • Add LICENSE (MIT)
    • Add curseforge_logo.png and curseforge_description.md
    • Update .pkgmeta to exclude new non-addon files from zip
    • chore: add CurseForge project ID to .pkgmeta
    • Update to WoW 12.0.5 (Interface 120005), add Monk abilities (Revival, Celestial Conduit, Invoke Yu'lon)
  • Update to WoW 12.0.5 (Interface 120005), add Monk abilities (Revival, Celestial Conduit, Invoke Yu'lon)

v1.6.1

14 Apr 02:11

Choose a tag to compare

Healer Cooldown Tracker

v1.6.1 (2026-04-14)

Full Changelog Previous Releases

  • Merge branch 'main' of github.com:Rubyj/CooldownTracker
  • chore: bump version 1.6.1 (#15)
    • Add CurseForge publishing support and MIT license
    • Add CF_API_KEY to release workflow for CurseForge uploads
    • Add LICENSE (MIT)
    • Add curseforge_logo.png and curseforge_description.md
    • Update .pkgmeta to exclude new non-addon files from zip
    • chore: add CurseForge project ID to .pkgmeta
    • chore: bump version to 1.6.1
  • Merge branch 'main' of github.com:Rubyj/CooldownTracker
  • chore: Add CurseForge publishing support (#14)
    • Add CurseForge publishing support and MIT license
    • Add CF_API_KEY to release workflow for CurseForge uploads
    • Add LICENSE (MIT)
    • Add curseforge_logo.png and curseforge_description.md
    • Update .pkgmeta to exclude new non-addon files from zip
    • chore: add CurseForge project ID to .pkgmeta
  • chore: add CurseForge project ID to .pkgmeta
  • Add CurseForge publishing support and MIT license
    • Add CF_API_KEY to release workflow for CurseForge uploads
    • Add LICENSE (MIT)
    • Add curseforge_logo.png and curseforge_description.md
    • Update .pkgmeta to exclude new non-addon files from zip

v1.6.0

24 Mar 19:45
5ab991e

Choose a tag to compare

Healer Cooldown Tracker

v1.6.0 (2026-03-24)

Full Changelog Previous Releases

  • chore: bump version to 1.6.0 (#13)
  • feat: innervate cooldown, spell reordering, and dead-state toggle (#12)
    • feat: innervate cooldown, spell reordering, and dead-state toggle
    • Add Innervate (180s) to Druid cooldowns in Data.lua
    • Right-click any tracker row to toggle dead state: desaturates icon and
      greys out the card to indicate the player has died; right-click again
      to restore (battle rez). Timer continues running. /cdt reset clears all
      dead states.
    • Spell reordering via Settings panel: each ability row now has ▲/▼ arrow
      buttons to move it up or down in the tracker. Order is persisted in the
      new CooldownTrackerDB.spellOrder SavedVariable. A Reset Order button
      restores the default sequence.
    • fix: sort comparator strict ordering and stale spellOrder pruning
    • Guard sort comparator against comparing an element with itself (a.id ==
      b.id returns false immediately), fixing potential 'invalid order function'
      runtime error in Lua 5.1 when spellOrder is empty.
    • Prune stale spell IDs from spellOrder during BuildExpandedCooldowns so
      ghost entries from renamed/removed spells can never silently consume swap
      positions.
    • fix: replace cramped scroll-bar arrow textures with UIPanelButton arrows
      Reorder buttons were 22x15px scroll-bar textures with overlapping anchors
      inside a 42px row. Replaced with UIPanelButtonTemplate buttons (24x18px
      each, 2px gap) anchored correctly so they stack cleanly without overlap.
      Switched arrow glyphs to unicode ▲/▼ which are far more legible at this
      size.
    • fix: use ASCII glyphs and center reorder buttons vertically in row
      FRIZQT__.TTF lacks the Unicode geometric arrow codepoints, causing them
      to render as boxes. Replaced with ASCII ^ and v which the font supports.
      Anchored both buttons from the row RIGHT with +/-10 Y offsets so the
      18+2+18px pair is centered in the 42px row instead of sitting at the top.
    • fix: use native WoW arrow textures for reorder buttons
      Replaced mismatched font glyphs (^ vs v render at different heights in
      FRIZQT) with inline |T...|t texture escapes pointing at the same Arrow-Up
      and Arrow-Down assets Blizzard uses in their own UI. Both arrows render at
      12x12px so they are guaranteed identical in size.
    • fix: center arrow textures in reorder buttons using child overlay
      Inline |T|t text can't be offset, so asymmetric padding in the native
      arrow textures made the up arrow hug the bottom and down arrow hug the
      top. Replaced with explicit child OVERLAY textures anchored at CENTER
      with +/-1 Y nudges to counteract the texture's internal whitespace.
    • fix: increase down arrow Y nudge to -3 for visual centering
    • fix: grey out timer and name text when player is marked dead
      ApplyDeadVisuals now sets timerLabel, nameLabel, and classLabel to grey
      (0.5, 0.5, 0.5) alongside the icon/strip/bg. ClearDeadVisuals restores
      nameLabel to white and classLabel to its class colour. timerLabel is
      restored implicitly by the UpdateRow tick which rewrites it each frame.
    • fix: preserve active timers across RebuildUI calls
      Removing CT.activeTimers = {} from RebuildUI() was wiping all running
      timers every time a settings change (column count, class count, spell
      visibility, reorder) triggered a rebuild. Timers are now only cleared
      explicitly by the /cdt reset slash command, which is the only caller
      that actually intends to reset them. Orphaned entries from ID changes
      (e.g. count 1→2) are harmless -- UpdateRow ignores keys with no
      matching row.
    • fix: use grey color codes in timer text for dead-state rows
      SetTextColor() is overridden by embedded |cff...|r escape sequences in
      the text string. UpdateRow now reads CT.deadStates each tick and injects
      |cff808080 instead of the normal green/orange codes, so the grey sticks
      regardless of timer state. Works whether dead is marked before or after
      the timer starts since UpdateRow fires every frame.
    • docs: update README for innervate, reorder, and dead-state features
    • fix: prune stale spellOrder IDs in MoveSpell and drop RebuildUI timer flash
    • MoveSpell now rebuilds the order array by removing any IDs not in
      CT.COOLDOWNS before searching for the swap position, matching the
      knownIds pruning already present in BuildExpandedCooldowns. Previously
      a ghost entry could silently consume a swap slot.
    • RebuildUI no longer unconditionally overwrites timerLabel with 'Ready'.
      UpdateRow handles the correct text (respecting active timers and dead
      state) on the next OnUpdate tick, eliminating the one-frame green flash
      when reordering while a timer is running.

v1.5.0

18 Mar 00:05
8ec6425

Choose a tag to compare

Healer Cooldown Tracker

v1.5.0 (2026-03-18)

Full Changelog Previous Releases

  • fix: icon clipping over class colour strip (#11)
    • fix: lower icon offset to prevent clipping over class colour strip
    • chore: bump version to 1.5.0

v1.4.0

17 Mar 22:02
5dcca10

Choose a tag to compare

Healer Cooldown Tracker

v1.4.0 (2026-03-17)

Full Changelog Previous Releases

  • feat: scale down card grid to match Details window footprint (#10)
    • feat: scale down card grid to match Details window footprint
    • chore: bump version to 1.4.0

v1.3.0

17 Mar 20:42
d830e6e

Choose a tag to compare

Healer Cooldown Tracker

v1.3.0 (2026-03-17)

Full Changelog Previous Releases

  • feat: compact icon-sized cards, timer overlay, more transparent backdrop (#9)
    • feat: compact icon-sized cards, timer overlay, more transparent backdrop
    • fix: remove duplicate strip SetSize call in ApplyCardLayout
    • fix: dial back card compactness to middle ground (72x58, pad 4)
    • fix: use THICKOUTLINE and white text for card timer overlay readability
    • fix: move timer below icon with taller card (68px), revert orange timer colour
    • chore: bump version to 1.3.0
  • docs: update CI/CD documentation to reflect split ci and release workflows (#8)

v1.2.0

17 Mar 04:22
547a14c

Choose a tag to compare

Healer Cooldown Tracker

v1.2.0 (2026-03-17)

Full Changelog Previous Releases

  • fix: grant GITHUB_TOKEN contents write permission for release creation (#7)
  • chore: bump version to 1.2.0 (#6)
    • chore: bump version to 1.2.0
    • chore: run luacheck on pull requests
    • chore: split CI and release into separate workflows
    • fix: resolve luacheck warnings
  • chore: add GitHub Actions CI/CD, luacheck, and BigWigs packager (#5)
    • chore: add GitHub Actions CI/CD, luacheck, and BigWigs packager
    • chore: add pull request template
  • feat: raid leader UX feedback - clickable rows, bigger icons, sound toggle, spell toggles, translucent bg (#4)
    • feat: raid leader UX feedback - clickable rows, bigger icons, sound toggle, spell toggles, translucent bg
    • fix: remove dead BUTTON_W constant
    • fix: propagate duration edits to expanded cooldown copies when class count > 1
    • feat: add Priest/DH/Evoker spells and frame lock toggle
    • refactor: reorder spells per raid leader preference, remove Halo
    • fix: restore Halo to spell list
    • fix: correct Apotheosis icon to ability_priest_ascension
    • fix: guard OnDragStart when frame is locked; enlarge lock button
    • fix: increase lock button size to 32px to visually match UIPanelCloseButton
    • fix: center lock button vertically in title bar using RIGHT/LEFT anchor
    • docs: update README and AGENTS to reflect current feature set
    • fix: guard OnDragStop when frame is locked to prevent StopMovingOrSizing on non-moving frame
  • Merge pull request #3 from Rubyj/feature/class-counts
    feat: class count configuration with taint fixes
  • docs: add AGENTS.md with AI assistant instructions and taint anti-patterns
  • fix: load settings before expanding cooldowns to apply custom durations on load
  • fix: eliminate taint by removing SetScript in RebuildUI and dummy pool frames; use row.cd indirection
  • fix: remove programmatic Settings.OpenToCategory (fully protected in Midnight)
  • fix: defer Settings.OpenToCategory via C_Timer to avoid protected call taint
  • fix: replace taint-causing SetParent/CreateFrame in RebuildUI with safe frame pool
  • fix: hoist editBoxes and RefreshAllEditBoxes before OnShow so closure can reference them
  • feat: class count configuration — duplicate cooldown rows per class player count
  • Merge pull request #2 from Rubyj/feature/resizable-layout
    feat: configurable grid layout (columns setting) with card/wide row modes
  • fix: timerLabel missing font before SetText in CreateRow
  • feat: configurable grid layout (columns setting) with card/wide row modes
  • Merge pull request #1 from Rubyj/feature/settings-panel
    feat: in-game settings panel for cooldown duration configuration
  • feat: auto-commit duration on every keystroke via OnTextChanged
  • fix: use C_Timer.After(0) to populate edit boxes after Settings canvas init
  • fix: replace InputBoxTemplate with manual EditBox + HookScript OnShow
  • fix: edit boxes blank due to SetNumeric(true) incompatibility with SetText
  • fix: settings edit boxes blank on open due to OnEditFocusLost during init
  • fix: settings panel rows invisible due to zero-width scroll content
  • feat: in-game settings panel for cooldown duration configuration
  • Add full healer cooldown roster (Druid, Paladin, Shaman, Warrior, Evoker, DK)
  • Remove old monolithic file (replaced by Data.lua, UI.lua, Core.lua)
  • Initial commit: Healer Cooldown Tracker addon