The keybind release gate is automated: dormant-row load, editor clear cascade, and dormant re-fire are covered in /gems test keybind, which runs 16 tests now. Suite hygiene gains a window shown-state parity check and a scale-drift check, so a spec that applies a scale and restores only the stored value fails the run.
GRIP-EMS v2.3.10
Released July 16, 2026. 14 entries in the author's notes.
Every entry
The author's own words, complete. Long sections are sorted into areas by LazyGrip.
Fixed
12Saving, naming and editing8
Clicking the row of a sequence saved by another character's class populated the editor twice.
The Spells tab of the Spell Cache Viewer rendered every row blank. The rows are plain buttons with no backdrop methods on them, and the alternate-row shading called one of those methods before it existed. The error aborted each row's setup before the icon, name and spell id were filled in. The tab has never painted a row since v1.7.0-Beta.
Renaming a spell in the Spell Cache Viewer discarded the edit with no error, and the marker beside a renamed spell never appeared. Both read a database handle the addon never assigns.
A renamed spell kept its old name on screen until you reloaded, and Clear Overrides removed the marker while leaving every custom name in place. Renames and Clear Overrides apply to the live cache now. A renamed spell also re-sorts into its new alphabetical slot, where it used to keep its old slot even after a reload.
Renaming a spell onto another spell's exact name and then using Clear Overrides left that second spell unfindable by name until a reload, which broke any sequence step that referenced it by name.
The marker beside a renamed spell was drawn mostly outside the row and clipped. It has its own space at the row's left edge now.
Running /gems test on a character that had not opened the window yet consumed the once-per-session tutorial and left its popover behind after the run. The suite holds the tutorial back while it runs. A real first open still starts the tour.
The window could come back oversized after a full /gems test run. The spec that exercises the interface scale wrote the old value back to your profile but left every open panel sitting at the last scale it had tested until reload.
Keybinds and the conflict panel3
The Set Keybind button stayed greyed out for good after you created a sequence in combat. Creating a sequence in combat queues its registration until you leave combat, but the new row got selected right away, so the editor loaded nothing and the keybind tab cleared. A combat-time refresh then disabled Set with no path back to enabled. Set now recomputes from the loaded sequence on every refresh, the way Clear already did, and the sequence list reloads the editor when a queued registration finally lands for the row you still have selected.
Clearing the editor left the Set Keybind button enabled over a tab with nothing to bind. It disables now.
Deleting a sequence with the Keybind tab open could strand that tab's keyboard focus context mid-stack and break Tab navigation until reload.
Macros, export, import and sharing1
The Remote Browser (/gems browse) rendered every player and sequence row blank, for the same reason. The shared backdrop helper now supplies the missing methods to any frame that arrives without them, which covers both browsers and the other frames that go through it.
Internal
2A headless test covers the spell-override apply and revert paths, including the name-collision revert. CI set A goes from 12 to 13.
Grab it
Release notes written by Sataana and reproduced here with his permission.