Changelog - RGXMods/RGX-Framework GitHub Wiki
Changes
Current Release
v2.7.18 - 2026-10-14
- Prevent adopting a database handle/live profile view as its own SavedVariables owner, avoiding a recursive C stack overflow while preserving saved values.
- Recovered metatable-poisoned profile stores remain writable, rather than silently dropping later settings changes.
- Lua 5.1 regressions cover both failures. Operator reports no issues after testing and explicitly approves stable publication; no detailed test matrix or independent in-game capture is claimed.
Recent Releases
v2.7.17 - 2026-10-13
Player-accepted opt-in secure minimap item actions support preparation on one click and item use on the next hardware click, without replacing secure OnClick. Ordinary minimap consumers are unchanged; secure mutations are combat-guarded.
v2.7.16 - 2026-10-13
Retail 12.1.5 compatibility (Interface 120105) and wiki-manifest publishing
fix; runtime unchanged from the v2.7.15 cycle.
v2.7.14 - 2026-10-06
Stable release of the beta-validated UI/minimap batch:
UI:CreateButtonselected-state support for option tabs and toggles.- Minimap-button ownership respects ElvUI-style collectors; the backdrop frame
background moves to
frame.backgroundTexturefor collector compatibility. - Opt-in
legacyFlatdatabase migration preserves pre-existing flat settings when adopting profiles. - Framework no longer prints its own startup banner to chat.
v2.7.13 - 2026-10-05
First stable release of the shared UI batch (tested as v2.7.13-beta.1/beta.2):
- Profiles panel preset pagination, confirmed per-row Delete, and create-from-current copying.
- Panel
Close()/Toggle()through the safe-hide boundary, including the Settings-embedded host. - New
UI:CreateSwitchmodule toggles plus config gear/dialog chrome. - Slider purpose labels visible with hover-only values; dropdown modern-menu restoration and reclaimed inline rows; card layout and reset alignment fixes.
- Regression coverage across profiles, controls, layout, dropdowns, options, reset/poison recovery, and six-flavor packaging.
v2.7.12 - 2026-10-03
- Fixed the CurseForge release upload (metadata must be a plain form value, not a file part), completing the distribution chain.
- Settings-embedded options panels now fill the canvas: no more double frame or extra background inside the game's Settings window.
- Taller 64px header band with the 42px square suite icon.
- Round/square suite icons regenerated with proper edge-keyed alpha.
- Runtime is consumer-agnostic and CI-enforced: no consumer addon names anywhere in core/ or modules/ Lua.
- Classic Era
11509added to the base TOC.
Language coverage
RGX-Framework ships complete WoW client locale coverage for its own
user-facing output across all twelve WoW client locales: enUS (base), deDE,
esES, esMX, frFR, itIT, koKR, ptBR, ptPT, ruRU, zhCN, zhTW. The same
coverage list is published in every flavor TOC's ## X-Localizations:
header and in README.md. Consumer addons inherit the
RGXLocale:NewLocale(addonName, locale, isDefault) registry convention.
v2.7.10 - 2026-10-03
- Database self-heal: metatable-poisoned SavedVariables tables no longer loop every read into a C stack overflow; the corrupted entry is logged and rebuilt plain with defaults.
- Fixed
card:AutoHeight()crashing layout construction with an arithmetic-on-table error. - New framework chrome:
UI:CreateCloseButton,UI:CreateConfigButton, andUI:CreateConfigDialogprimitives; options panels consume the shared close button. - Shipped suite brand icons
media/round.tga(minimap) andmedia/square.tga(headers); Wago project ID registered. - Architecture hardening: contract promoted to
contract/with shared engines, MCP thinned to a transport adapter, module taxonomy + frozen 31-global public surface + runtime boundary enforcement in shared CI.
v2.7.9 - 2026-09-29
- Hardened client metadata compatibility checks when APIs are unavailable.
- Applied framework accent borders to section headers.
- Documented flavor-specific consumer module and options boundaries.
v2.7.8 - 2026-09-25
- RGXDesign restyle taking the BugTabs aesthetic: dark navy rounded
nine-slice panels (12px corners via new
media/panel_rounded.tga), cyan#00e6ffprimary accent, gold secondary accent, Inter labels with locale-safe font fallback and soft text shadows. Design:CreateFramerounds by default; passopts.square = truefor the legacy flat backdrop (exportedDesign:ApplyBackdropunchanged).- Minimap
Button:GetAnglenow reads the durable store before callback-backed sources, so dragged positions persist for every consumer path. - New
Design:WithTheme(theme, fn)scoped theme helper: an addon can apply its brand color while building its panel, and RGXDesign restores its defaults afterwards. - Options panel tab buttons honor
panel.themeat runtime: hover and active states resolve the panel brandprimaryinstead of the shared RGXDesign default, and the build-timeDesign:SetThemeis restored after construction.
v2.7.7 - 2026-09-21
- Fixed the tonumber crash in compat.lua on WoW Forever beta clients. New RGX.API guarded module. Minimap positions prefer durable store. 101 runtime files.
v2.7.6 - 2026-09-20
- Durable minimap button positions across the suite: drag angles mirror into
RGXFrameworkDB.RGXMinimapPositionsand restore when an addon's own SavedVariables are lost.
v2.7.5 - 2026-09-17
- Added WoW Forever Beta compatibility (Interface
16001client) via runtime capability detection while retaining Retail120100manifest support. - Uses the interface capability rather than client build
69893to suppress restricted CLEU registration. - Skips the generic SharedMedia global scan on Forever to avoid the measured startup hitch.
v2.7.4 - 2026-08-23
- Standardized framework chat output as
{icon} - [RGX] {message}throughRGX:CreateChatPrefix(). - Added a persistent global login-message gate with
/rgx login on|off|statusand theIsLoginMessagesEnabled,SetLoginMessagesEnabled, andLoginMessageAPIs. - Routed declarative
welcomeoutput through the login gate and reduced framework startup output to one gated, metadata-derived line. - Added Lua 5.1 runtime coverage for persistence, command confirmations, declarative welcome behavior, prefix formatting, and startup deduplication.
v2.7.3 - 2026-08-22
- Fixed
ADDON_ACTION_FORBIDDENfrom the v2.7.2 event-lifecycle flush: deferred native registrations now run only from an anonymous next-frame driver, never while unwinding an event dispatch, timer dispatch, combat, or pet battle. - Registration success is verified with
IsEventRegistered; unsupported or repeatedly rejected events are dropped after a bounded attempt cap instead of retrying forever. The 2.7.2 deferral guarantee is preserved one frame later. - Retail no longer registers
COMBAT_LOG_EVENT_UNFILTERED: new flavor-gatedcombatLogEventcapability,RGXCombatskips CLEU on Retail 12.x, andRGXCombat:HasCombatLogEvents()exposes the degraded surface. - Event-lifecycle runtime coverage extended from 35 to 66 checks.
- Published assets are
RGX-Framework-v2.7.3.zipandrelease.json; the addon archive contains 100 runtime files and all six flavor TOCs.
v2.7.2 - 2026-08-22
- Fixed deferred WoW frame-event registrations created during framework event
dispatch. Consumer events registered from
PLAYER_LOGIN,PLAYER_ENTERING_WORLD, or another handler now become native frame events immediately after the outermost safe dispatch returns. - Extended the same lifecycle guarantee to registrations created inside RGX
timer callbacks, closing the second path that could strand callbacks in
pendingFrameEvents. - Made unit-event unregistration clean up pending and native frame state symmetrically while preserving a shared registration when regular handlers still exist for the same event.
- Added 35 Lua 5.1 event-lifecycle checks covering login bootstrap, nested dispatch, unit events, timers, combat deferral, shared handlers, and removal-before-flush. Existing 166 timer and 86 restricted-aura checks remain green.
- Published assets are
RGX-Framework-v2.7.2.zipandrelease.json; the addon archive contains 100 runtime files and all six flavor TOCs.
v2.7.0 - 2026-08-15
- Added declarative named repeating timers with deterministic ordering, lifecycle binding, metadata, self-cancellation, and failure isolation.
- Hardened RGXAuras into an accessible-only restricted-value boundary and added the corresponding Lua 5.1 runtime and source-conformance coverage.
v2.6.2 - 2026-08-14
- Synchronized distribution documentation and hardened release/package validation across the six supported WoW flavors.
v2.6.1 - 2026-08-13
- Restored the single-product framework distribution boundary and aligned deterministic package verification.
v2.6.0 - 2026-08-13
- Added capability-gated support and verified TOCs for Retail, Classic Era, TBC, Wrath/Titan, Cataclysm, and Mists Classic.
v2.5.1 - 2026-08-12
- Added the cross-version compatibility layer, hardened aura payload access, and shipped accumulated UI and pet-battle fixes.
Historical Release Notes
Full per-version notes remain in docs/changelogs/, including releases from v1.x through v2.5.0. The 2.7.13 beta channel (beta.1, beta.2) was promoted to stable as v2.7.13; its notes remain in docs/changelogs/.
Historical Beta - v2.7.15-beta.4
The prior opt-in beta preceded the v2.7.15 release line. See beta notes for additions and tester checks.