Skip to content

Releases: Mapkov2/MidnightCooldownManager

MCDM_1.0

MCDM_1.0 Pre-release
Pre-release

Choose a tag to compare

@Mapkov2 Mapkov2 released this 23 Jun 22:29

Changelog

1.0 Beta 1 - 2026-06-24

  • First public beta package for MidnightCooldownManager.
  • Built around Blizzard's current Cooldown Manager data path for 12.0.7 and 12.1, with cached cooldown records, compatibility guards, and smoke diagnostics.
  • Added custom cooldown groups, buff icon groups, buff bars, per-spell overrides, dummy previews, import/export, profile management, and spec-aware setup.
  • Added class resources, player power bar, optional second HP bar, textures, color tabs, outlines, load conditions, preview zoom/pan/drag controls, and Ayije profile import coverage for resource settings.
  • Added the Midnight superellipse options UI with dashboard, staged menu scaling, minimap/addon-compartment access, move mode, runtime tooltip toggles, MSUF-style controls, and clipping fixes across the main editor surfaces.
  • Includes Ayije CDM-inspired defaults and migration helpers while keeping MCDM standalone and independently maintained.

1.0 Beta - 2026-06-23

  • Split Midnight Simple Cooldown into its own standalone local repository.
  • Added a GitHub Actions build/release pipeline for the two-addon-folder package.
  • Added local validation and packaging scripts for repeatable release ZIPs.
  • Included the current 12.1-compatible MCDM addon state with cooldown groups, buff icons, buff bars, class resources, player power, and second HP bar support.

2.0

Choose a tag to compare

@Mapkov2 Mapkov2 released this 20 Mar 22:27
181d0f5

MidnightSimpleAuras 2.0

MidnightSimpleAuras 2.0 is a major update focused on a cleaner UI, better group handling, new tracking/import features, and lower runtime overhead.

Highlights

  • Full options/UI overhaul with a new Midnight-style layout
  • New custom widget framework for a cleaner and more modern setup experience
  • Major improvements to aura grouping, sorting, and movement
  • New per-aura sound support
  • New CDM import support
  • Added target debuff tracking support
  • Improved internal buff tracking architecture for better efficiency
  • Reduced idle CPU usage and cleaner update behavior

New

Options / UI

  • Rebuilt the options menu in a cleaner Midnight/MSUF-inspired style
  • Added a new structured page layout for aura editing
  • Added a dedicated widget system for more polished controls and consistent styling
  • Improved overall menu organization and editing workflow

Aura Management

  • Added better right-click/context menu actions
  • Added Move to Group
  • Added Remove from Group
  • Added Move Up / Move Down inside groups
  • Added stronger support for batch-style aura management actions
  • Improved drag/drop behavior for grouped auras

Sounds

  • Added per-aura sound support
  • Supports sound playback for:
    • cooldown start
    • cooldown ready
  • Added sound channel selection support

Imports / Tracking

  • Added CDM import support
  • Added target debuff tracking support
  • Expanded template and dynamic tracking support

Improved

Groups

  • Reworked internal group ordering logic
  • Better saved order handling for grouped auras
  • More reliable movement and reordering inside groups
  • Improved group anchor behavior

Buff Tracking

  • Reworked BUFF_AURA handling into a more event-driven system
  • Better cache-based behavior for player/target aura tracking
  • Reduced unnecessary repeated work compared to older behavior

Performance

  • Reduced idle CPU usage
  • Update engine now avoids unnecessary ticking when possible
  • Better timing/update control for cooldown and aura refresh behavior
  • Small internal optimizations across helper and key handling code

Internal / Backend

  • Added new modules for:
    • widgets
    • sound handling
    • CDM importing
    • target debuff support
  • Cleaned up and restructured several core systems
  • Prepared the addon better for future expansion

Compatibility

  • Updated package structure for the new 2.0 architecture
  • Updated interface support for current Midnight client versions

Notes

This is a major structural update, not just a small patch.
If you are updating from 1.72, expect a much more polished options experience and a more advanced internal tracking system.

1.72

Choose a tag to compare

@Mapkov2 Mapkov2 released this 03 Mar 19:25
4485301
  • minor bugfix

1.71

Choose a tag to compare

@Mapkov2 Mapkov2 released this 02 Mar 22:47
96c0316

Ty rcaril

  • Fixed issue that /msa lock would not lock

1.7

1.7

Choose a tag to compare

@Mapkov2 Mapkov2 released this 28 Feb 00:13
131889a

v1.7 — Progress Bars, Buff Aura Mode & Template Browser

🆕 Progress Bar Display Mode (NEW)

  • Per-aura display type: Each tracked aura can now individually be set to Icon or Progress Bar via a new "Display Type" dropdown in the detail panel.
  • Bars feature a smooth fill animation at 60 fps with a moving spark indicator.
  • Fill direction: Left→Right, Right→Left, Bottom→Top (vertical), Top→Bottom (vertical).
  • Icon attachment: Optional spell icon on the bar with position options (Left / Right / Top / Bottom).
  • Customizable: Width, height, font size, bar color (via color picker), spell name display, timer text, and spark toggle — all per-aura.
  • Bar rendering uses issecretvalue guards on all timing reads — fully Midnight 12.0 safe.
  • Dedicated 60 fps MSWA_BarTicker with automatic sleep when no bars are visible (zero idle CPU).

🆕 Buff Aura Tracking Mode (NEW)

  • New "Buff Aura" aura mode (BUFF_AURA) for tracking player buffs directly — similar to WeakAuras/EQoL.
  • Uses the EQoL GetUnitAuras pattern: C_UnitAuras.GetUnitAuras("player","HELPFUL") returns whitelisted, readable fields — no secret value issues.
  • Per-frame buff cache: GetUnitAuras is called once per frame and the result is shared across all BUFF_AURA icons (zero redundant API calls).
  • Cache invalidated on UNIT_AURA events via the new MSWA_BuffEventFrame relay.
  • Show When Absent: Option to display the icon even when the buff is missing — with configurable alpha and desaturation.
  • Stack display: Native stack count rendering with issecretvalue guards.
  • Reminder Threshold: Optional "minutes remaining" threshold — hides the icon when the buff has more time left than the threshold (useful for "re-apply soon" reminders).
  • Full issecretvalue pattern on all duration/expiration fields — secret values route directly to SetCooldownFromExpirationTime, non-secret values use precise SetCooldown.
  • New module MSA_BuffBridge.lua: Provides display-data resolution, absent/active styling, tooltip enrichment, and group-level buff counting.

🆕 Template Browser (NEW)

  • Professional 3-panel template browser UI: category list → template list → detail panel with per-spell checkboxes.
  • 11 built-in categories: Healer HoTs, Augmentation Evoker, Raid Buffs, Blessing of Bronze, Self Buffs, Rogue Poisons, Shaman Imbuements, Resource Auras, Your Cooldowns, Your Spellbook, Your Bags.
  • Dynamic categories: "Your Cooldowns", "Your Spellbook", and "Your Bags" perform a one-time out-of-combat spellbook + bag scan to show only spells/items your character actually has.
  • Per-spell selection before install via checkboxes + Select All / Deselect All.
  • Install / Reinstall / Uninstall support.
  • Accessible from the Options panel header button and via /msa templates.
  • 100% secret-safe, zero pcall.

🆕 Rekey Aura (Change Spell/Item ID)

  • New "Spell/Item ID" edit box in the detail panel lets you change the tracked spell or item ID of any existing aura without losing settings.
  • Preserves all settings: spellSettings, trackedSpells/trackedItems, customNames, group assignment (including groupMembers array), and current selection.
  • Collision detection: Prevents overwriting an existing aura with the same ID.
  • Hidden for draft entries.

🆕 Decimal Timer Rendering (NEW)

  • The existing "Show decimal" checkbox now actually renders a custom decimal timer overlay (e.g. 3.7 instead of 4) for cooldowns under 10 seconds.
  • Lazy-created _msaDecimalTimer FontString per icon — only allocated when the feature is enabled.
  • Uses MSWA_FormatTimer for consistent formatting.
  • Automatically hidden when bars are active (bars have their own timer text).

⚡ Performance & Engine Improvements

Secret Value Handling — Zero pcall Hot Path

  • Removed all pcall wrappers from cooldown apply functions. Blizzard's C-side APIs (SetCooldown, SetCooldownFromExpirationTime) natively accept secret values — pcall was unnecessary overhead.
  • Replaced with issecretvalue guards: secret values → SetCooldownFromExpirationTime (designed for secrets), non-secret values → SetCooldown with precise Lua-side arithmetic.
  • Readable values are cached on the cooldown frame (__mswaExp, __mswaDur, __mswaStart) for the decimal timer — secret values are stored as nil (safe fallback).

Aura API Rewrite — EQoL Pattern

  • GetAuraDataBySpellID removed (does not exist in Midnight 12.0).
  • GetAuraDataByAuraInstanceID removed (returns ALL fields as secret).
  • Replaced with the EQoL-proven two-tier approach:
    • Primary: C_UnitAuras.GetUnitAuras("player","HELPFUL") → whitelisted readable table.
    • Fallback: C_UnitAuras.GetPlayerAuraBySpellID(sid) for targeted lookups.
  • Per-frame _buffCache with GetTime()-keyed invalidation — single API call shared across all aura icons.

Version Display

  • Version string is now read dynamically from the .toc metadata via C_AddOns.GetAddOnMetadata with pcall fallback — no more hardcoded version numbers.

🗄️ Database

  • Schema version bumped to 6 with automatic migration.
  • New fields in spellSettings: auraMode = "BUFF_AURA", auraSpellID, auraUnit, auraFilter, showWhenAbsent, desaturateOnAbsent, alphaOnAbsent, showStacks, displayType, barWidth, barHeight, barFontSize, barColor, barShowName, barShowTimer, barShowSpark, barShowIcon, barIconPos, barFillDir, reminderThresholdMin, hideStacksOnCooldown.
  • New top-level table: db.groupMembers for ordered group membership tracking.

🔧 Options Panel

  • Display Type dropdown: Icon / Progress Bar selector with dynamic bar settings sub-panel.
  • Bar settings: Width, height, font size, color swatch, name/timer/spark/icon toggles, icon position dropdown, fill direction dropdown.
  • Buff Aura section: Checkbox to enable BUFF_AURA mode with sub-options for Show When Absent, Desaturate, Show Stacks, Alpha, Reminder Threshold.
  • Hide stacks on cooldown: New checkbox in the stack settings section.
  • Rekey controls: Spell/Item ID edit box + Apply button with validation feedback.
  • Template Browser button in the header bar.
  • Aura list tags: [Buff Aura] tag shown next to BUFF_AURA entries in the spell list.

1.5 Release

Choose a tag to compare

@Mapkov2 Mapkov2 released this 21 Feb 19:15
e017822

Added option to track user defined stacks
Made it possible to track own personal buffs (like poisons) that persist through death 
some minor bugfixes 

1.4

1.4

Choose a tag to compare

@Mapkov2 Mapkov2 released this 21 Feb 10:51
c00b1ee
  • Added drag and drop function to add items, spells etc via spellbook/itembag
  • Improved performance
  • Improved Menu
  • Added right click context menu
  • Shift mark several auras to delete them
  • Drag move maus in order to change order of the auras

1.3

1.3

Choose a tag to compare

@Mapkov2 Mapkov2 released this 19 Feb 16:27
14fcb6d

1.30

  • Added support to sort groups
  • Added support to export whole groups 
  • Fixed scaling issue with auras 

1.27

Choose a tag to compare

@Mapkov2 Mapkov2 released this 18 Feb 21:56
0f3ee20

fixed several bugs with cooldowntimer

1.26: adeed more cooldowntimer options

Choose a tag to compare

@Mapkov2 Mapkov2 released this 18 Feb 18:34
5a7e90c
  • Updated swipe animation
  • Added option to show eg. 0.1 0.2 etc timer as toggle on off option in display