EMS-Changelog

GRIP-EMS v1.0.9

Released March 26, 2026. 15 entries in the author's notes.

Every entry

The author's own words, complete. Long sections are sorted into areas by LazyGrip.

Fixed

4

Blizzard Settings dark theme: replaced unreliable C_Timer.After(0.5) with HookScript("OnShow") plus zero-delay C_Timer.After(0) deferral for reliable restyle timing. \_gripRestyled guard prevents redundant restyle on re-opens

#

UI layout overflow at minimum window size: minimum frame bounds raised from 600x400 to 750x500, EDITOR_HEADER_HEIGHT updated for expanded reset row, button bar widths reduced to prevent sort/migrate overlap, MacrosTab list container switched from hardcoded 600px height to dual-point anchor

#

KeyPress/KeyRelease fields not resizing with window: replaced init-time fixed-width calculation with dual-point anchoring and OnSizeChanged handlers that propagate width to ScrollFrame children

#

Five layout constants in Defaults.lua had incorrect values causing RawTab and VariablesTab clipping at non-default window sizes (VAR_LIST_WIDTH, VAR_FUNC_EDIT_HEIGHT, RAW_STATUS_HEIGHT corrected; RAW_HEADER_HEIGHT and VAR_EDITOR_ROW_HEIGHT confirmed correct)

#

Added

8

Combined reset syntax: multi-condition resets (e.g. target/combat/5) via new ParseResetString and BuildResetString utilities with RESET_TOKEN_MAP lookup

#

Expanded reset UI: Gear Change and Spec Change checkboxes plus Timer EditBox in the sequence editor header, wired to per-version resetOnGear, resetOnSpec, and resetTimer fields

#

Import mapping: legacy Head field now maps to resetOnGear for gear-swap reset preservation during migration

#

Sort mode persistence: sequence list sort order (A-Z / Class / Recent) saved to AceDB profile and restored on login

#

SwitchVersion and LoadVersionIntoEditor: implementations added for multi-version navigation (previously orphan call sites)

#

TrackerHUD debug filter: early-return guard in OnSettingChanged prevents unnecessary rebuilds for non-tracker settings

#

6 new locale keys for reset controls (timer label, gear change, spec change, timer placeholder, reset section header, combined reset tooltip)

#

BUG-020 test harness: /gems testspellid command with 7 test cases validating spell ID resolution for capital /Cast, /use alias, and multi-condition blocks

#

Changed

2

TrackerHUD Toggle() now cycles through all 4 visibility modes (Never to Always to In Combat to Has Target) instead of binary Always/Never flip

#

9 nil-safety guards added across ExportFrame (3), ImportFrame (3), and StepListView (2) per LUALS-EMS-3 static analysis

#

Internal

1

Dead locale keys GEMS_TRACKER_ENABLED and GEMS_TRACKER_DISABLED removed (MAINT-17)

#

Grab it

Release notes written by Sataana and reproduced here with his permission.