File Details
3.3.20
- R
- Jun 9, 2026
- 2.40 MB
- 18.7K
- 12.0.7+5
- Classic + 3
File Name
GSE-3.3.20.zip
Supported Versions
- 12.0.7
- 12.0.5
- 5.5.4
- 5.5.3
- 2.5.5
- 1.15.8
GSE
3.3.20 (2026-06-05)
Full Changelog Previous Releases
- #1914 Add GSE_Companion to the source list
- #1914 EllesmereUI Icon Provider Update
- #1914 Fix Skyriding keybinds
- #1914 Expose legacy GSE proxy with RegisterAddon/GetSequenceNamesFromLibrary/isEmpty
External sequence-pack plugins (not under our control) still parse with
local GSE = GSEand call GSE.RegisterAddon / GSE.GetSequenceNamesFromLibrary
to register their bundled sequences. After the privacy refactor those
plugins would clear their ownif GSE == nil then return endguard and
crash on the first internal helper (GSE.isEmpty).
Expose a sealed proxy at _G.GSE carrying ONLY the registration handshake
surface — the two methods plus the isEmpty nil-guard the registration
path itself uses. Everything else on the private namespace (L, Static,
Library, AceEvent mixins, internal helpers …) is deliberately absent.
__newindex silently drops writes so a strayGSE.foo = barin a plugin
can't clobber our exposed methods or graft state onto the proxy.
__metatable = false locks the metatable so it can't be re-tabled either.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - #1914 GSE Pause editor corrections
- #1914 Gte depending on version greater than 11
- #1914 Fix Patron update in build
- #1914 Packaging update
- #1914 Pass texture (not Button) to ElvUI Skin.Icon
NativeUI.createIcon was handing the surrounding Button to
GSE.Skin.Icon, but ElvUI's S:HandleIcon calls icon:SetTexCoord
internally — that method only exists on Textures, so the
Button-typed argument errored with "attempt to call a nil
value" the moment a player /reloaded with the GSE menu
auto-restore path engaged and ElvUI enabled. Pass widget.image
(the texture created two lines above) instead so HandleIcon
operates on the right object and ElvUI's icon coords actually
apply to the icon image.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - #1914 Solve memory leak
- #1914 TOC Updates for 12.0.07
- #1914 More Keybind and skyriding fixes
- #1914 Internal Tracker.
- #1914 Scroll Speed Fix, help-spell casting variants
- #1918 FIx sorting DebugWindow and only showing spell assist column when on a client that has that.
- #1918 #1914 Icon Flicker, Macro Count, and ABO Highlight
- #1918 Removal of CTRL+Z, Fix Arrow Keys, Fix MultiEditor launch and fix Toolbar toggling.
- #1914 Remove AceConsole Reference
- #1914 Restore Skyriding Keybinds
- #1914 Fix Clearing Keybinds wiping all of GSE_C
- #1914 Update menu graphic
- #1914 EllesmereUI Look and Feel
- #1914 More code cleanup
- #1914 Post luacheck build errors
- Merge pull request #1916 from TimothyLuke/dependabot/npm_and_yarn/ws-8.21.0
Bump ws from 8.18.3 to 8.21.0 - #1914 code cleanup
- #1914 Luacheck
- #1914 Luacheck update
- #1914 Second Cut removing AceGUI Dependency
- Bump ws from 8.18.3 to 8.21.0
Bumps ws from 8.18.3 to 8.21.0.
updated-dependencies:- dependency-name: ws
dependency-version: 8.21.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] support@github.com
- dependency-name: ws
- patron publish: point embed at GSE_Menu_Logo.png (the wide finish)
The Discord build notification was still resolving to GSE_Logo_Dark_512.png
— that's the square crop now used for the in-game app icon + the
Companion app icon — instead of the wide menu finish. The thumbnail
slot in a Discord embed reads better with the wide artwork; same for
the bot avatar circle (the wider crop centres the wrench head + GSE
letters away from the round crop edge).
GitHub raw URL pattern unchanged so Discord's media proxy stays happy.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - logo: refresh menu + dark icons to the new finishes
GSE_Menu_Logo gets the wide wrench framing (image #10) at 250×250 —
fills the top-bar slot in the in-game menu without cropping. The
dark icon (GSE_Logo_Dark_512.png used by the welcome screen, LDB
minimap, editor min-widget, import-dialog header, and tracker
identity check) gets the square crop (image #12) at 512×512 — the
wrench now wraps the GSE letters fully so the icon reads at small
sizes too. No code paths changed; same filenames, same load
sites.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - Update Icon
- #1915 Allow a modifier to be set to pause a sequence
- patreon publish: use direct PNG URL for embed thumbnail
The previous gse.tools URL 302-redirected to a signed S3 url, which
Discord's media proxy didn't render as an embed thumbnail (though it
accepted it for the webhook avatar). Switch to the GitHub raw URL of
the committed PNG — direct image/png response, no redirects — same
shape forgecdn used for the original logo. Rolls back the attachment
plumbing; setThumbnail(url) is the right tool, the URL was wrong.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - patreon publish: attach logo file so the embed thumbnail renders
The previous attempt set the embed thumbnail to a gse.tools URL that
302-redirects to a signed S3 URL. Discord's media proxy accepts the
redirect for the webhook avatar (visible bot pic = new wrench, ✓) but
refuses it for embed thumbnails (right-side thumbnail = missing).
Author icon was ambiguous.
Switch the embed author icon + thumbnail to attachment://gse-logo.png
and attach GSE_GUI/Assets/GSE_Logo_Dark_512.png alongside the zip.
Discord renders attached images directly with no proxy fetch, so the
thumbnail comes back. Bot avatarURL keeps the gse.tools URL since the
webhook avatar fetch works fine through that path.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - patreon publish: new GSE wrench logo in Discord embed + bot avatar
Swap the embed author iconURL + thumbnail away from the stale forgecdn
gse2-logo-dark-2x.png onto a single LOGO_URL constant pointing at the
new wrench logo hosted via Qik file storage at gse.tools (file id
6a17c04d699ec384f2773a97). Same id serves the website's header/hero,
so future re-brands swap the file behind the id and propagate across
both surfaces.
Also override the webhook send with username + avatarURL so the bot's
own profile picture matches the embed, instead of inheriting whatever
avatar the webhook was originally created with in the Discord server
settings (still the old hex logo there).
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - logo: new GSE wrench logo across in-game surfaces
Replaces the old GSE2 wordmark with the new GSE wrench logo wherever
the addon shows its brand at runtime: the welcome screen background,
the LDB minimap icon, the editor min-widget icon, the import-dialog
header, and the tracker-button identity check.
GSE_Logo_Dark_512.blp → GSE_Logo_Dark_512.png. WoW reads PNG fine
from addon assets, so swapping the file extension + updating the
Statics path in GSE/API/Statics.lua is sufficient. Deleted the old
BLP so the TOC IconTexture base-name lookup picks the new PNG
unambiguously. GSE_Menu_Logo.png overwritten at the same 250×250
the runtime already expected.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com - publish: surface server-side cleanup summary
The /publish/mod endpoint now applies the retention rule (latest release- previous release + alphas on top of latest) on every publish — see the
GSE-Tools-API commit. Print the cleanup summary line including the
latest/previous baseVersion the server picked, so CI logs show what was
archived.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
- previous release + alphas on top of latest) on every publish — see the
- #1913 gate sequecne recompilation behind checking for isEncounter