# Nem: Healer Alerts — Changelog

---

## v12.0.23 — May 3, 2026

### Restoration Druid — Full Ticker Elimination

Restoration Druid is now fully event-driven, matching the architecture improvements made to Mistweaver Monk in v12.0.22. The 0.25s background polling ticker has been removed entirely.

### Restoration Druid — Soul of the Forest Raid Frame Glows Reworked

The SOTF boosted Rejuvenation and Germination raid frame glows have been rebuilt from scratch. In practice, the previous implementation only glowed one target at a time — if you spent three SOTF procs on different group members, only the most recent one would show a glow. All three frames now glow simultaneously and independently for the full duration of each buff.

**What's fixed:**

- **Multiple targets now glow at the same time.** Spending SOTF on several group members in a row correctly lights up all of their frames at once.
- **False glows eliminated.** Frames were sometimes glowing immediately when you received a SOTF proc, before you had even cast a Rejuv or Germination. This was a detection ordering bug — it no longer happens.
- **Glows clear properly between combat encounters.** When you leave combat, all SOTF glows clear immediately. If you re-enter combat and the empowered Rejuv or Germination is still ticking on a target, the glow comes back automatically.
- **Fixed a crash that was breaking all alerts.** A code ordering issue in the Lifebloom glow system was causing a startup error that silently disabled the entire Druid module. No alerts or sounds would fire at all until a `/reload`. This is fixed.

### Restoration Druid — Lifebloom Raid Frame Glow Improvements

The Lifebloom pandemic glow (the border that lights up when your Lifebloom is about to expire) now correctly finds the right raid frame even when the target is also your current target or focus. Previously it could silently fail to glow in those situations.

### Restoration Druid — Performance

Swiftmend casts now trigger one alert check instead of three. The two extra checks fired at 0.1s and 0.3s after every Swiftmend and were redundant — WoW's own buff events already handle the same job. No visible change to alert timing.

**What changed under the hood:**

- **Lifebloom pandemic detection** no longer polls every 0.25s. Instead, when Lifebloom is applied or refreshed, the addon calculates exactly when it will enter the pandemic window and sets a precise one-shot timer for that moment. The glow fires at the right time with no wasted work between casts.
- **Abundance (Rejuv/Germination count)** is now tracked in real time via buff events — the same approach Mistweaver uses for Renewing Mist coverage. No group scanning happens during Evaluate; the counter updates the instant a Rejuv or Germination is applied or expires on any group member.
- **Raid frame glows** now update on the next game frame after a buff change, via the same frame-boundary one-shot system introduced for Monk. No polling.
- **SOTF buff detection** moved to a live event cache. Previously the addon called a WoW API on every Evaluate to check whether Soul of the Forest was active — that API call cost ~0.175ms per call and added up to over 500ms across a full encounter. It now reads from state updated by buff events, bringing the per-tick cost to near zero.

### Restoration Druid — Bug Fixes

- **Abundance alert firing too early.** The Rejuv/Germination counter was inflating the stack count if your current target or focus target was also a party member. The same player was being counted twice — once under their party token and once under the "target" alias. Fixed by only tracking canonical group tokens.
- **Wild Growth alert missing at combat start.** The alert appeared correctly once WG had been used at least once, but was silent on the combat opener when WG was already off cooldown. The sound now plays correctly at pull when WG is ready to use.

---

## v12.0.22 — May 2, 2026

### Mistweaver Monk — Major Performance Improvements

Removed background polling entirely from the Mistweaver module. The addon no longer runs a repeating check every 0.25 seconds — every detection now reacts to in-game events as they happen. In practical terms: zero idle CPU cost between pulls, and noticeably less CPU impact during heavy combat.

**Soothing Mist changes:**
- The addon now detects your Soothing Mist channel target the moment you start casting, via WoW's spell cast events. Mouseover macro target switches are handled correctly — if you retarget mid-channel, the old target is released and the new one is picked up after a brief delay.
- The Enveloping Mist alert clears the instant EM lands on your target, rather than waiting for the next evaluation cycle.

**Raid frame glows:**
- Raid frame glow updates no longer run on a timer. Buff changes trigger a deferred update that fires on the next game frame instead. Multiple buff changes on the same frame within one render frame are collapsed into a single update pass — same visual result, less CPU work.

**Other removals:**
- Removed a background Renewing Mist tracking system that was carrying dead code since v12.0.20 and doing work with no visible effect.

**Measured CPU results (20-person raid):**

| | Before | After |
|---|---|---|
| Average CPU | 3.48% | **0.40%** |
| Encounter CPU | 6.07% | **5.33%** |
| Peak CPU | 21.45% | **13.92%** |

### New: `/nha env` command

Snapshot diagnostic for the Enveloping Mist alert. If the alert is misbehaving, run this command and check the output — it shows your active SM target, whether the EM check passed, and current alert state.

---

## v12.0.21 — May 1, 2026

### Mistweaver Monk — Enveloping Mist Raid Frame Glow

Enveloping Mist now lights up raid frames the same way Renewing Mist already did. Priority stacking: if a unit has both EM and RM, the frame shows the EM color. Let EM expire and it falls back to the RM color.

| Priority | Buff | Color |
|---|---|---|
| 1 | Enveloping Mist | Pale yellow |
| 2 | Renewing Mist | Mint green |

### Mistweaver Monk — Enveloping Mist Alert Noise Reduction

The "missing EM on Soothing Mist target" alert used to fire during quick half-second spot heals, which created unnecessary noise in raid. It now requires you to be on the same target for **3 seconds** before the alert fires. Quick taps stay silent. Switching targets mid-channel resets the timer cleanly.

### Mistweaver Monk — Performance

Several CPU improvements that compound into a meaningful reduction in Mistweaver's footprint:

- **Soothing Mist target caching** — instead of scanning all group members every tick to find your channel target, the addon remembers the target and validates it cheaply. Cache clears automatically on channel end or retarget.
- **Renewing Mist scan rate reduced** — the RM coverage check runs 20% less often. Alert latency stays well under a second, so you won't notice.
- **Batched raid frame refreshes** — multiple buff changes for the same frame now batch into one update per 0.25 seconds, eliminating the CPU spikes that could occur during heavy pulls.
- **Out-of-combat scanning disabled** — the addon no longer processes food, flasks, and world buffs applied while sitting in the raid lobby waiting for a pull. Scanning resumes on combat enter with a fresh sweep, so pre-applied auras still light up the moment the pull starts.

### New: `/nha perf` command (Mistweaver)

Performance measurement tool, previously only available for Resto Druid. Same usage: `/nha perf on` to start, `/nha perf` to peek mid-fight, `/nha perf off` to stop and print the report.

---

## v12.0.20 — April 28, 2026

### All Specs — Individual Buff Icon Glows Removed

A WoW 12.0.5 patch broke the ability to glow individual buff icons on default raid and party frames. Since that patch, per-icon glows were only working on your Target and Focus frames — not where you're actually watching during a pull. This update removes the broken per-icon glow system entirely.

The **"Glow Raid Frames"** toggle in the options panel replaces the old "Icon Glow" checkbox, and points to the whole-frame border glow that actually works on default Blizzard raid frames. If you had icon glows disabled before this update, the new setting carries that preference forward automatically.

**Removed per-spec icon glows:**
- Mistweaver Monk — Soothing Mist icon glow, Enveloping Mist icon glow
- Resto Druid — Empowered Regrowth icon glow (and the `/nha trace` debug command)
- Disc Priest — Atonement icon glow, Void Shield icon glow

**What stays:**
- Resto Druid — Lifebloom pandemic glow + Soul of the Forest boosted Rejuv/Germination glow on raid frames
- Mistweaver Monk — Renewing Mist full-duration glow on raid frames

### Restoration Druid — Bug Fix

Fixed a Lua error that was spamming ~13,000 times during M+ runs. Caused by WoW's secret value restrictions in dungeons — certain aura data looks readable but crashes when accessed. No gameplay impact; the error spam is gone.

### Restoration Druid — Brighter Alert Colors

All six Druid alert colors updated to brighter neon variants for better screen visibility.

| Alert | Old Color | New Color |
|---|---|---|
| Lifebloom Expiring | `#24A148` | `#00FF66` |
| Cast Lifebloom | `#24A148` | `#00FF66` |
| Soul of the Forest | `#00E5C0` | `#00FFE5` |
| Wild Growth Ready | `#A6E22E` | `#B6FF00` |
| Reforestation | `#3498DB` | `#00BFFF` |
| Abundance | `#FFD100` | `#FFF200` |

### Mistweaver Monk — Performance

Same performance improvements from the Resto Druid update now applied to Mistweaver. The Renewing Mist coverage check previously scanned every group member every tick regardless of result. It now stops early once it has enough RMs to clear the threshold, and caches the result between checks. CPU cost in raid drops significantly.

---

## v12.0.19 — April 26, 2026

### Restoration Druid — Raid Frame Glows Return

Lifebloom and Soul of the Forest glows now show up on **default Blizzard raid and party frames**. Since patch 12.0.5 these glows only worked on Target and Focus frames. Two conditions are supported:

- **Lifebloom in its pandemic window** — green border glow
- **Rejuvenation or Germination boosted by Soul of the Forest** — cyan border glow

If both conditions apply to the same unit, Lifebloom takes priority.

The glow is a thick, animated border around the entire raid frame — different from the per-icon glow that used to appear on Target/Focus, but this is the only option that works on default raid frames after Blizzard's 12.0.5 changes. If you were using the `LifebloomGlow` addon to fill this gap, you can remove it — this update covers the same case and adds SOTF detection on top.

**New: `/nha cufglow`** — diagnostic command if a glow doesn't appear when expected. Prints hook status, tracked frames, and what auras the addon can see on each unit.

**Bug fixes:**
- Fixed the first Lifebloom cast after a `/reload` not glowing at pandemic. Subsequent casts worked fine, but the very first one of a session would silently miss.
- Fixed Soul of the Forest boosted Rejuv/Germination never glowing any raid frames.
- Fixed a Lua error burst (~23 errors) after Wild Growth casts in M+.

### Restoration Druid — Performance

Major CPU reduction for Resto Druid. The addon was using significantly more CPU than necessary in raid, enough to cause visible stutter on heavy pulls. After this update it uses roughly **8× less CPU** and the stutter is gone.

**Bug fixes:**
- Fixed a Lua error when running `/nha debug` while in a chat window, M+, or arena.
- Fixed a Lua error that could fire repeatedly while targeting a boss in raid.

**New: `/nha perf`** — measures how much work the addon is doing in combat. Run `/nha perf on` at pull, then `/nha perf off` after the fight to see a report.

---

## v12.0.18 — April 25, 2026

### Internal Cleanup — No Gameplay Changes

Behind-the-scenes refactor to bring Nem: Healer Alerts and its sister addon Nem: Pet Alerts into alignment. Same alerts, same triggers, same sounds, same display. This makes future maintenance and bug fixes cheaper across both addons.

**Small visible changes:**
- The login greeting message ("Loaded. Type /nha for options.") has been removed — the addon loads silently. Use `/nha status` to check state.
- Spec-switch chat messages ("Alerts paused" / "Alerts active") removed, for consistency with Nem: Pet Alerts.
- `/nha debug` now prints class, active spec, enabled state, group status, and glow hook state.
- If a sound is enabled but the requested sound file is missing, the addon now falls back to playing the bundled RobotBlip sound instead of playing nothing.

---

## v12.0.17 — April 21, 2026

### Bug Fix — All Specs Broken in 12.0.5

A WoW 12.0.5 patch removed an internal Blizzard function the addon was hooking into at login. This caused a crash at startup that left the addon in a broken state for **all specs**, showing "Spec Not Supported" in the options panel even on supported healers. Fixed.

---

## v12.0.16 — April 19, 2026

### Mistweaver Monk — Jade Statue Alerts Removed

After extensive live testing, the two Jade Serpent Statue alerts ("Place Jade Statue" and "Statue Idle") have been removed. WoW's API restrictions in M+ combat made both alerts unreliable — the game blocks access to the data needed to detect statue placement and statue activity in M+, causing false positives even when the statue was working correctly. The alerts were producing more noise than signal and have been cut.

The remaining Mistweaver module is now focused entirely on what works reliably: Spread Renewing Mist and Enveloping Mist alerts, with raid-frame and icon glows for RM, EM, and your active Soothing Mist channel.

### Mistweaver Monk — Soothing Mist Icon Glow (New)

A new icon glow appears on buff frames while your Soothing Mist channel is active on a target — a clean visual indicator of your current SM target for the full duration of the channel.

### Mistweaver Monk — Renewing Mist Threshold Options

Two new inputs in the options panel let you set how many Renewing Mists you want active before the "low coverage" alert clears:

- **Target (Party)** — for dungeons, default 2
- **Target (Raid)** — for raid, default 4

Changes take effect immediately without a reload.

---

## v12.0.15 — April 18, 2026

### Options Panel — Alert Options Section (New)

A new fourth section in the options panel — **Alert Options** — consolidates spec-specific settings in one place:

- **Font picker** moved here from the Display section.
- **Spec-specific options** now live here with a proper layout (previously crammed into the right column of the Display section).
- **Alert text editors** — every alert has an editable text box. Changes apply live. Clearing a box resets it to the built-in default text. Saved per character.
- **Restore Defaults button** — resets all alert colors, texts, font, scale, and frame position back to built-in defaults.

**Reset Position** renamed to **Center Position**.

### Restoration Druid — Alert Options

- Lifebloom timer and SOTF timer checkboxes now sit on a single row.
- **Abundance Count** is now user-configurable (range 7–12, default 7). Controls how many Rejuvs + Germinations are required before the Abundance alert fires.
- Alert text editors available for all six Druid alerts.

### Restoration Druid — Sound Changes

- Wild Growth Ready: Lamp → **Redfox**
- Abundance (Cast Regrowth): Ping → **Lamp**
- Lifebloom Expiring (Bell) and Soul of the Forest (Ping) unchanged

---

## v12.0.14 — April 18, 2026

### Mistweaver Monk — Cleanup

Removed two early-development alerts that weren't working well in practice:

- **Zen Spheres** alert removed
- **Shielun's Appeal** stack counter removed

Default sounds adjusted: Enveloping Mist → Bell; all Jade Statue sounds irrelevant (alerts removed in v12.0.16).

---

## v12.0.13 — April 18, 2026

### Mistweaver Monk — Bug Fixes

- **Fixed chat spam** — the addon was printing debug messages to chat on every evaluation tick during combat. Removed.
- **Fixed false "Place Jade Statue" alert in M+** — WoW's M+ API restrictions were causing the addon to lose track of a correctly-placed statue, then re-alert incorrectly. Fixed by preserving the known placement state set by the cast event rather than overriding it with a tainted scan result.

---

## v12.0.12 — April 18, 2026

### Restoration Druid — New Alerts

**Cast Lifebloom** — fires in combat when no group member has your Lifebloom active. Companions the existing Lifebloom Expiring alert: Expiring tells you it's about to fall off, Cast Lifebloom tells you it's already gone. The two alerts share the same screen position and are mutually exclusive — only one shows at a time.

**Abundance: Cast Regrowth** — fires when you have the Abundance talent and your combined Rejuvenation + Germination count across the group reaches 7 or more. At that point, Abundance makes Regrowth cheaper and more likely to crit. Won't appear if you haven't specced Abundance.

**Wild Growth — Smart Cooldown Tracking** — the Wild Growth Ready alert now accounts for your actual talent build and gear:
- **Early Spring** hero talent shortens the cooldown and is detected automatically.
- **Sprouts of the Luminous Bloom 4-piece tier set** shortens it further in PvE, or by a lesser amount in arenas.
- When cooldown data is directly available (outside M+/rated content), the addon uses the real value.

Gear and talent changes are picked up in real time — no reload needed.

### Restoration Druid — Minor Text Changes

- Reforestation alert: `* TREE OF LIFE NEXT SWIFTMEND *` → `* TREE: NEXT SWIFTMEND *`
- Abundance alert: `* ABUNDANCE - CAST REGROWTH *` → `* ABUNDANCE: CAST REGROWTH *`
- Cast Lifebloom no longer plays a sound by default.

### Options Panel — Layout Fixes

- Fixed the right-side panel being clipped off-screen in the WoW Settings UI.
- Removed redundant slider labels and tightened up spacing throughout.

---

## v12.0.11 — April 14, 2026

### Mistweaver Monk — Jade Serpent Statue Alerts (New)

Two new alerts for Mistweaver Monks with the Jade Serpent Statue talent:

- **Place Jade Statue** — fires in combat when no statue is placed. Catches forgotten placements after dying, rezoning, or the 15-minute duration expiring.
- **Statue Out of Range** — fires when you're channeling Soothing Mist but the statue isn't healing your target, indicating a line-of-sight or range issue. Includes a 0.5s grace period at channel start.

Both alerts only appear if you have the Jade Serpent Statue talent selected. Won't fire if you've chosen Jade Infusion instead.

> **Note:** These alerts were removed in v12.0.16 due to unreliable detection in M+ combat.

### Spec Availability

Holy Priest, Holy Paladin, Preservation Evoker, and Restoration Shaman have been temporarily disabled until their implementation is complete. Previously these spec files loaded but did nothing, causing user confusion.

---

## v12.0.10 — April 12, 2026

### Options Panel

- Non-healer specs (Windwalker, Shadow Priest, etc.) now show a clean "Spec Not Supported" message instead of a blank or broken panel.
- All unsupported specs show the same unified message regardless of class.

---

## v12.0.9 — April 10, 2026

### Rename: Nem: HoT Alerts → Nem: Healer Alerts

The addon has been renamed to better reflect what it actually does — it tracks far more than just Heal over Time effects (beacons, procs, cooldowns, shields, and more). No gameplay changes.

**Your saved settings carry over automatically.** No action needed.

New slash command: `/healeralerts` (old `/hotalerts` still works as a legacy alias).

### All Healer Specs Now Supported

**Discipline Priest (new)**
- Atonement Expiring — alerts when your soonest Atonement is about to fall off, with countdown timer
- Cast Void Shield — alerts when Master the Darkness procs

**Holy Priest (new)**
- Prayer of Mending — alerts when you have no Prayer of Mending bouncing on any group member

**Preservation Evoker (new)**
- Reversion Low — alerts when your Reversion coverage drops below threshold (configurable for dungeons vs. raids)

**Mistweaver Monk (new)**
- Renewing Mist Low — alerts when RM coverage drops below threshold (configurable for dungeons vs. raids)
- Enveloping Mist — alerts when you're channeling Soothing Mist on a target that doesn't have Enveloping Mist

**Holy Paladin (new)**
- Beacon Missing — alerts when no Beacon variant is active on any group member
- Eternal Flame — optional low-coverage alert (off by default)

**Restoration Shaman (new)**
- Earth Shield Missing — alerts when Earth Shield isn't active on anyone
- Riptide Low — alerts when Riptide coverage drops below threshold

**Architecture:** each healer spec is now a fully independent file. Adding or changing one spec can never affect another. Druid players will notice no difference from v12.0.8.

---

## v12.0.8 — April 6, 2026

### Bug Fixes

- Alerts no longer fire when playing non-Restoration Druid specs (Balance, Feral, Guardian)
- Switching away from Restoration now immediately clears all alerts and glows
- Zone transitions in an off-spec no longer cause stale alerts to appear

---

## v12.0.7 — April 5, 2026

### Options Panel

- Panel now themes dynamically per healer class (Druid orange, Priest white, Evoker teal, Shaman blue, Monk green, Paladin pink)
- Non-healer classes see a clear "Class Not Supported" overlay listing what is supported

---

## v12.0.6 — April 5, 2026

### Bug Fix

Fixed a crash in M+ and rated content caused by a WoW API change in patch 12.0.5.

---

## v12.0.5 — April 4, 2026

### New Features

**Wild Growth Ready alert** — shows when Wild Growth is off cooldown (combat only). Falls back to cast tracking in M+ and rated content where cooldown data is restricted.

**Reforestation / Tree of Life alert** — shows after your 3rd Swiftmend, reminding you the next one will proc Tree of Life. Hides automatically if you unspec the talent.

**Empowered Regrowth glow** — Regrowth icons on party frames glow when cast with Soul of the Forest active. Clears when overwritten by a normal Regrowth.

Alert display order updated: Tree of Life (top) → Wild Growth → Soul of the Forest → Lifebloom (bottom).

SOTF alert text changed from "CAST REJUV" to "SOUL OF THE FOREST."

Two new bundled sounds: Lamp and Redfox (15 total). All four alerts now have individual color pickers.

### Bug Fixes

- Numerous fixes for Wild Growth cooldown tracking, Reforestation talent detection, and Empowered Regrowth glow reliability
- Death now properly clears all alert state
- Test mode now shows all four alerts

---

## v12.0.4 — April 2, 2026

### Bug Fixes

- Test mode countdown timers now display correctly
- Options panel spacing fixed to match Nem: Pet Alerts layout

---

## v12.0.3 — April 2, 2026

### Performance

Major CPU reduction for raids and battlegrounds. Most noticeable when joining a 40-player group.

### Bug Fixes

- SOTF alert no longer gets stuck when the proc expires without casting
- Lifebloom icon glow now fires correctly when targeting an enemy
- Background ticker no longer runs after disabling the addon
- SOTF alert state clears properly when the alert is toggled off mid-session
- Fixed a crash during startup if glow cleanup ran before glow tables were created
- Alerts clear on death and re-evaluate on resurrect
- SOTF alert clears immediately on Rejuv cast
- Bell and Ping sounds now work without LibSharedMedia installed

---

## v12.0.2 — April 1, 2026

### Bug Fixes

- All alerts and sounds now work reliably in M+ and rated combat
- SOTF detection falls back to cast tracking when the aura API is restricted in combat
- SOTF timer starts immediately on Swiftmend cast
- SOTF alert persists when entering combat with the proc already active

### Slash Commands

Added: `/nha on`, `/nha off`, `/nha toggle`, `/nha status`, `/nha version`, `/nha reset`, `/nha unlock`

All commands also available via `/healeralerts` (and `/hotalerts` as a legacy alias).

---

## v12.0.1 — March 31, 2026

**Initial release** of Nem: Healer Alerts (originally Nem: HoT Alerts).

Restoration Druid support: Lifebloom pandemic tracking and Soul of the Forest proc alerts, with countdown timers, icon glows, configurable sounds, and a full options panel. Part of the Nem addon suite.
