EMS-Changelog

GRIP-EMS v1.9.0

Released April 7, 2026. 16 entries in the author's notes.

Every entry

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

Added

16
Variables and recommendations4

SettingsPanel CVar Dashboard tab: full scrollable UI with per-section grouping, live current/recommended value display, individual Fix buttons, per-CVar auto-fix toggles, health score header, profile selector dropdown, and "What Changed?" notification banner

#

Per-CVar auto-fix on login (replaces blanket auto-fix of all recommended CVars) -- only user-opted CVars are touched

#

SQWOptimizer engine (Engine/SQWOptimizer.lua): real-time SpellQueueWindow optimization using EWMA latency smoothing with outlier rejection, GCD-aware haste tracking, hysteresis to prevent flapping, click rate advisory, and automatic PLAYER_LOGOUT restore to user's original SQW value

#

SettingsPanel SQW dashboard: 4 header widgets (enable toggle, sensitivity slider, live SQW display, click rate advisory badge), per-CVar managed badge integration, Fix button guard, auto-fix skip for optimizer-managed CVar

#
Repair and spell warnings3

Defaults.lua: D.CVAR_SECTIONS data-driven architecture replacing D.RECOMMENDED_CVARS -- 212 unique CVars across 13 sections with per-CVar metadata (description, critical flag, recommended value, category). D.CvarMatch() float comparison helper for tolerance-aware CVar validation

#

/gems msadvisor now uses live optimizer data (EWMA latency, current GCD, applied SQW) when optimizer is active, falling back to raw GetNetStats/GetHaste when inactive

Repair Module Enhancements

#

Fix All button in single-sequence repair view with live fixable-issue counter, undo support (full sequence snapshot before batch fix), and automatic re-analysis after all fixes applied

#
Languages2

UpdateFixAllState tracks remaining fixable issues and disables button when none remain

Localization

#

448 GEMS_CVAR\_\* locale string stubs added to all 10 machine-translated locale files (deDE, esES, esMX, frFR, itIT, koKR, ptBR, ruRU, zhCN, zhTW) -- marked --MT for community reviewer tracking

#
Combat and the Options pages1

Combat-safe CVar writes gated behind InCombatLockdown() check

Dynamic SQW Optimizer

#
Saving, naming and editing1

enUS source strings for all CVar section headings, descriptions, SQW optimizer UI labels, and profile names

#
Everything else5
CVar Dashboard#

CvarProfileManager (Data/CvarProfileManager.lua): 4 built-in profiles (Raid, M+, Solo, PvP) with context-aware auto-switching via ZONE_CHANGED_NEW_AREA, manual profile selection, per-CVar auto-fix opt-in, and "What Changed?" login detection comparing cvarSnapshot to current values

#

/gems cvar slash command for profile management from chat

#

/gems status now shows CVar health summary (OK/warn/critical counts) using new CVAR_SECTIONS format

#

/gems sqw slash command for optimizer status and manual control

#

Grab it

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