Healer's Serenity

Healer's Serenity is designed to streamline your healing experience in World of Warcraft. Featuring an intuitive bar positioned conveniently near the player's interface, this addon allows quick access to all your essential healing spells.

File Details

HealersSerenity - V2.4.0

  • R
  • Nov 23, 2025
  • 639.29 KB
  • 204
  • 11.2.7+1
  • Retail

File Name

HealersSerenity-V2.4.0.zip

Supported Versions

  • 11.2.7
  • 11.2.5

Healer's Serenity

We are proud to release version 2.4.0 of Healer's Serenity, featuring critical fixes for party frame reliability and heal button targeting!

Bug Fixes

  • Fixed Heal Buttons After Player Leaves
    Resolved a critical issue where heal buttons would stop working for remaining party members after another player left the group. The addon now correctly updates player IDs and button targeting when party slots shift (e.g., when party1 leaves and party2 becomes the new party1).

  • Fixed Frame Positioning After Leaving Raid
    Player frames now position correctly when transitioning from raid to solo/party mode. Previously, stale frames from raid members could persist and cause incorrect positioning.

  • Enhanced Frame Reuse Logic
    Optimized frame management to properly reuse existing frames when players leave and rejoin, or when party slots shift. This prevents frame creation overhead and ensures consistent behavior.

  • Improved StateDriver Updates
    Cast and rez buttons now correctly update their state drivers when player IDs change, ensuring proper button state tracking across roster changes.

Updated Files

  • HealersSerenityPlayersUpdateGroupRoster.lua - Implemented three-pass roster update system (identify, cleanup, update) to prevent ID conflicts
  • HealersSerenityTablePlayers.lua - Modified RemovePlayer to only hide frames, allowing proper frame reuse
  • HealersSerenityPlayersUpdateFrames.lua - Added stale frame cleanup logic to remove frames for departed players
  • HealersSerenityPlayersHooks.lua - Removed premature ID update hook and added StateDriver updates for button reliability
  • HealersSerenity.lua - Streamlined GROUP_ROSTER_UPDATE event handling

Technical Details

This release introduces a three-pass roster update system that eliminates race conditions during group roster changes:

  1. Pass 1 (Identify): Build list of current group members without updating IDs
  2. Pass 2 (Cleanup): Remove departed players and their data before any ID reassignments
  3. Pass 3 (Update): Update IDs for remaining players and add new members

This ensures that when a player leaves and their party slot is reassigned to another player, the departed player's frame is fully removed before the remaining player's ID is updated. Previously, both frames could temporarily claim the same party slot, causing button targeting failures.

Frame management has been centralized in UpdateFrames, which now serves as the single source of truth for the unitFrames table. Stale frames (those belonging to players no longer in the group) are automatically cleaned up, preventing orphaned frames from persisting across raid/party transitions.

Compatibility

  • Compatible with WoW versions 11.0.5 (11.0.2.56625), 11.0.7 (11.0.7.58187)
  • Currently supports English locales (enUS, enGB)
  • Full backward compatibility with existing configurations

Thank you for your support! 💖

ko-fi