!EMS1!-prefixed imports no longer return "Unknown format". The dispatch in LegacyImport, ImportPreview, and the internal _PreviewGRIP1 type guard now routes both !EMS1! (v2.1.0+ native) and !GRIP1! (legacy native) through the same preview/commit path. Both encode an identical {format="GRIP-EMS", ...} payload via the same CBOR + Deflate + Base64 pipeline; only the prefix differs.
GRIP-EMS v2.1.2
Released May 16, 2026. 8 entries in the author's notes.
Every entry
The author's own words, complete. Long sections are sorted into areas by LazyGrip.
Fixed
2Sequences exported with numeric spell IDs now resolve to the talent-active override variant on import, not the base spell. A new internal helper LI._ResolveOverriddenName wraps C_SpellBook.FindSpellOverrideByID plus C_Spell.GetSpellName and runs at all three import-time numeric resolution sites (LI.ResolveSpell, the /cast numeric path, and the /castsequence numeric list). A Beast Mastery hunter importing a sequence with Steady Shot's base ID (56641) under the Barbed Shot talent now gets /cast Barbed Shot in the macro -- not /cast Steady Shot. Resolution runs at import time; respec after import keeps the macrotext as resolved (re-import to refresh).
Changed
1Support panel Discord label now points at discord.gg/temptingus across all 11 locale files. The button OnClick handler already opened the correct URL; only the visible label was stale (showed discord.gg/grip-ems).
Internal -- CVar Manager polish series (G5)
5Reset to Defaults if-branch ticker now re-checks pin state at every tick, matching the Fix All Critical behavior. Pins added mid-throttle are honored on the next tick instead of being dishonored.
Fix All Critical and Reset to Defaults DONE-broadcast surfaces (4 Print + 4 Speech + 4 ReloadGate Notify calls across both if/else branches) now report the per-tick actual change count instead of the click-time intent count. BUSY messages stay on intent since they fire before any filtering.
Four per-row single-frame CapturePrevious sites (Fix-All-in-Section inner loop, per-row Fix .func, dropdown .set, EditBox .set) now apply the SetCVar-success gate. cvarPreviousValues no longer records stale values when SetCVar silently no-ops under combat lockdown or for unknown CVars. CapturePrevious migrated to 2-arg form (cvar, prev) everywhere in SettingsPanel.lua.
Per-row Fix .func AceConfigRegistry:NotifyChange is now gated on SetCVar success, closing a structural asymmetry vs the dropdown and EditBox sites.
Defensive C_Timer guard added on both Fix All Critical and Reset to Defaults tickers.
Grab it
Release notes written by Sataana and reproduced here with his permission.