promotional bannermobile promotional banner

GSE: Sequences, Variables, Macros

GSE is an advanced macro compiler that is an alternative to the limits provided by the default macro editor.

File Details

3.3.16

  • R
  • May 8, 2026
  • 1.01 MB
  • 26.3K
  • 12.0.5+6
  • Retail + 3

File Name

GSE-3.3.16.zip

Supported Versions

  • 12.0.5
  • 11.0.5
  • 11.0.2
  • 5.5.4
  • 5.5.3
  • 2.5.5
  • 1.15.8

GSE

3.3.16 (2026-05-07)

Full Changelog Previous Releases

  • #1890 more editor and icon related fixes
  • LastUpdated: UTC via GetServerTime + macro tracking + clear PlatformID on rename
    Holistic fix for the cross-account multi-write bouncing class. When one
    Companion installation has the same sequence/macro/variable on two WoW
    accounts and is syncing both, each /reload writes its own slightly-
    different copy of the record and the server alternates between them,
    firing a Discord toast on every flip (observed at ~9 toasts in 4 min
    for one author 2026-05-08).
    Resolution: server side picks the newer-stamped copy. That requires
    the addon stamp every record with a comparable timestamp.
    Changes:
    * GSE/API/StringFunctions.lua: GSE.GetTimestamp() now returns UTC via
    date('!%Y%m%d%H%M%S', GetServerTime()). Was client-local time which
    made cross-timezone comparison nonsensical.
    * GSE/API/Storage.lua: UpdateMacro stamps node.LastUpdated. Macros
    previously never tracked LastUpdated at all. Plus new function
    GSE.BackfillLastUpdated -- idempotent, gated by a SavedVariables
    flag, walks GSE.Library / GSEVariables / GSEMacros and stamps any
    pre-existing record missing the field.
    * GSE/API/Events.lua: PLAYER_ENTERING_WORLD calls
    GSE.BackfillLastUpdated so legacy records light up on first login
    after the user updates the addon.
    * GSE_GUI/Editor.lua: sequence rename (newname-flag path) clears
    sequence.MetaData.PlatformID and the GSEPlatformIDs sidecar entry
    under the original origin key. Prevents the v4-renamed-to-v5 case
    where both sequences inherit the same server _id and bounce.
    * GSE_GUI/Editor_Variable.lua: variable rename (OnTextChanged
    callback) clears GSEVariablePlatformIDs[oldName].
    * GSE_GUI/Editor_Macro.lua: macro rename (OnEnterPressed callback)
    clears GSEMacroPlatformIDs[oldName].
    Pairs with:
    * gse-api commit 9afbc3b -- server-side enrich.js stamps LastUpdated
    when the incoming payload doesn't carry one.
    * GSE-Companion commit 667ea56 -- preserves top-level LastUpdated on
    upload (was being silently stripped during rawData rebuild).
  • #1908 Fix multiclick button settings
  • #1893 sync updates
  • #1893 More Sync checks
  • #1890 Fix Patreon icon selector