File Details
3.3.22
- R
- Jun 16, 2026
- 2.44 MB
- 24.3K
- 12.0.7+5
- Classic + 3
File Name
GSE-3.3.22.zip
Supported Versions
- 12.0.7
- 12.0.5
- 5.5.4
- 5.5.3
- 2.5.5
- 1.15.8
GSE
3.3.22 (2026-06-16)
Full Changelog Previous Releases
- #1920 Fix Actionbar Overrides in Dominos.
Note: The user needs to show hidden buttons to set an Actionbar Override via a right click for a Dominos button but once set the button will no longer hide. - #1931 Change LAB detection to capability based
- #1931 change LAB detection to capability based
- #1914 Add empty statics to public proxy for old plugin compatability
- #1931 Fix Override regression
- Fixe #1954 - Mouse Button 4 and 5 mappings
#1954 FIX: Mouse buttons 4/5 keybinds do nothing in game - FIX #1931 ABO combat taint block on Bartender4 State Config bars
FIX #1931: ABO combat taint block on Bartender4 State Config bars - Merge pull request #1952 from LarryThiessen/master
FIX: ABO works in all forms incl. Prowl on Bartender4 and stock bars - #1954 FIX: Mouse buttons 4/5 keybinds do nothing in game
The keybind capture widget stored mouse buttons 4/5 using the WoW
frame-script names ("Button4"/"Button5") instead of valid binding names
("BUTTON4"/"BUTTON5"). SetBindingClick rejected those keys and returned
nil, so the bind saved in GSE but never fired in game. Only the middle
button worked because it had an explicit MiddleButton -> BUTTON3 map.- NativeUI: normalize Button4/Button5 to BUTTON4/BUTTON5 on capture,
matching the existing MiddleButton -> BUTTON3 handling. - Events: add normalizeBindKey() applied at both SetBindingClick call
sites so already-saved btn4/5 binds (incl. modifier combos like
SHIFT-Button4) are migrated on load and fire without re-binding.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- NativeUI: normalize Button4/Button5 to BUTTON4/BUTTON5 on capture,
- FIX: #1931 ABO combat taint block on Bartender4 State Config bars
GSE armed native action-bar overrides by writing the secure attributes
gse-button/type/clickbutton onto the Blizzard button from insecure Lua,
which taints those values. The secure BAR_SWAP snippets then read the
tainted gse-button flag; on a bar that Bartender4 "State Configuration"
pages (it drives actionpage via a secure state driver), that taint rides
into Blizzard's ActionButton:UpdatePressAndHoldAction and its protected
SetAttribute("pressAndHoldAction") is blocked in combat -- the
"MultiBarBottomLeftButton12 ... SetAttribute" error blamed on Bartender4.
Fix: a secure snippet must never read an insecurely-written value.- Add a secure boolean gate
gse-secure, set ONLY from inside the
SecureHandler (SHBT:Execute) via new secureArmGSEButton /
secureYieldGSEButton / secureDisarmGSEButton helpers. - BAR_SWAP_OAC / BAR_SWAP_ONCLICK and the third-party OnEnter wrap now
gate ongse-secureinstead of the insecuregse-buttonstring. - Arm type/clickbutton through the secure handler too; the
gse-button
string stays (set insecurely) but is read only by non-secure icon/
tooltip/yield hooks, so its taint is inert. - LAB bars (BT4Button/ElvUI/NDui/CPB) are untouched -- they use SetState.
Verified in-game (MoP Classic 5.5, Bartender4 State Config on, override
on MultiBarBottomLeftButton12, spammed in combat): taintLog 2 shows zero
GSE-sourced taint and no pressAndHoldAction block; the button still fires
the sequence normally.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Add a secure boolean gate
- Merge remote-tracking branch 'upstream/master'
- FIX: ABO works in all forms incl. Prowl on Bartender4 and stock bars
- getButtonEffectiveSlot: read the resolved .action field so the yield check
evaluates the bonus-bar slot the button actually fires (Cat/Prowl/Bear), not
base slot 1 -- stops the Single-Button Assistant on slot 1 from hijacking the
override. - ActionBarSlotHasForeignAction: keep the override only for confirmed GSE
sequence macros; yield to any other macro/spell/item on the slot. - LAB bars (BT4/ElvUI/NDui/CPB): register the override on every LAB state so the
bar's stance/form paging (Prowl = its own state) can't strand it.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- getButtonEffectiveSlot: read the resolved .action field so the yield check
- Merge pull request #1949 from LarryThiessen/fixes-batch-1935-1948
Tracker / skin / debugger / options fixes & enhancements (#1935-#1948) - #1951 Only perform LINT tests on Pull Requests and dont include debug code in production builds
- #1948 FIX: Actionbar Overrides icon missing
Statics.Icons.Button pointed at a misspelled path (actionoride.png) with no asset; add the actionoverride.png asset and correct the path.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1947 FIX: Settings dropdowns render behind the options panel
Stop forcing SettingsPanel to FULLSCREEN_DIALOG strata; rely on the stock Settings.OpenToCategory to open and layer the panel so its dropdown popouts appear in front. Remove the dead BringSettingsPanelForward helper.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1946 FIX: Pause-toggle reload prompts did nothing
Shift/Alt/Ctrl pause toggles called the retired StaticPopup_Show(GSE_ConfirmReloadUIDialog) which is no longer registered; switch to the migrated GSE.GUICall(GUIConfirmReloadUI).
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1945 EHN: Skin swap prompts reload and defers all changes until reload
Selecting a skin only saves the choice and prompts a reload; nothing swaps live, so the whole skin changes together on reload. Declining keeps the session on the current skin.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1944 FIX: Remove obsolete tracker icon options
Remove the Single Icon checkbox and Preview Icon Count slider from Tools & Diagnostic; the tracker is locked to a single icon.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1943 EHN: GSE windows follow the active global font (skin-aware)
GSE text adopts the active font by skin mode: Native = stock Blizzard default (forced even when ElvUI/EUI replaced the globals), Modern = STANDARD_TEXT_FONT, Addon = ElvUI normFont / EllesmereUI font. Face-only (size/flags preserved), applied across all GSE windows, the tree, debugger rows and the tracker.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1942 EHN: Remove class-colour outline on Native-skin windows
Remove the 4-side class-colour band around Native-skin windows; the accent still applies to button/checkbox text and the slim scrollbar. Modern borders unaffected.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1941 EHN: Live-resize throttling (Editor + Debugger)
Throttled ~50fps OnUpdate resize pump with a whole-pixel coalesce and a settle on mouse-up, on the Editor and the Debugger main and side windows.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1940 EHN: ElvUI skin parity
Add GSE.Skin.HostAccentColor and union the external-provider gating so GSE widgets (scrollbar, close button, dropdown chrome/list/chevron, icons) fully skin under ElvUI/EllesmereUI.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1939 EHN: Dropdown max-visible cap
Cap visible rows (default 20) so a long uncapped list scrolls in a bounded popup instead of growing off-screen; explicit SetMaxVisibleItems still wins.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1938 EHN: Debugger chrome, side-window strata and re-snap
Side windows ride with the main window's strata, re-snap to the main on drag, the stray side close button is removed, and GSE.RefreshDebuggerSkin repaints on a live skin change.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1937 FIX: Import window transparent under Modern skin
Mix in BackdropTemplateMixin and paint a GSEImportBodyFill texture so the import window renders solid under the modern skin.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1936 EHN: Tracker font follows the active skin
Tracker text uses GameFontHighlightSmall + a subtle drop shadow from the live font global instead of GameTooltipText + heavy OUTLINE, so it adopts skin fonts.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com - #1935 EHN: Player Status tracker line
Toggleable Combat/No-Combat status line in the tracker text panel (default on) with an Options checkbox. Initialises safely from saved vars on fresh install and upgrade.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com