Compatibility Verification - RGXMods/RGX-Framework GitHub Wiki
Published compatibility verification — 2.7.12
Status
Publication is verified. Working behavior across every published dependent addon and live client is not verified. This report is evidence inventory, not a release approval. Canonical follow-up: GitLab Framework #45.
Published artifact and workflow
- Tag
v2.7.12:91af119dc4d50edc5b0a166aa4adc2622d4b91dc. - GitHub release run
37114456144uploaded the providers, then failed its post-upload check: expected six flavor rows/entries, received seven. - Corrected checker merged in
e6a89cf; that change is not in the immutable release tag. Re-running the old tag does not pick up the correction. - Fresh downloaded ZIP and
release.jsonpass the current package inventory (108 runtime files) and metadata (seven flavor entries) checks. - Local uncommitted test installs are not replacements for published assets.
Cumulative source scope
git diff --stat v2.7.9..v2.7.12 reports 108 changed tracked files, including
tooling/docs; not all are player runtime changes. Important runtime boundaries
include database adoption/defaults, compatibility-first load order, locales,
aura access, controls, layout, headers, and module metadata.
The font-file split already exists at v2.7.9. In this exact range, only
modules/fonts/init.lua changes in that directory: registry metadata adds its
library category and dropdown dependency. This does not prove the older font
implementation is correct; it identifies the correct audit baseline.
Locales are new in this range. RGX-Framework.xml loads locale/overrides before
string-consuming modules. Language rendering/fallback still needs actual
client evidence. TOC inventory/Interfaces passing does not prove gameplay
capabilities or UI behavior on every flavor.
Dropdown evidence
- Retail dump: 12.1.0,
live@36dd01db2d8f,Resources/FrameXML.lua:4569listsUIDropDownMenu_Initialize; line 2825 listsMenuUtil.CreateContextMenu. - Retail confirmation source: 12.1.0.69404,
livecommit81d15e42f16f3473131880500e7a8c8eb88fa5e6.Blizzard_SharedXML/Mainline/UIDropDownMenu.lua:77defines the initializer, line 1049 definesToggleDropDownMenu;UIDropDownMenuTemplates.xml:146defines the legacy template.Blizzard_Menu/MenuUtil.luaimplements the modern context-menu API at that same commit. - Thus complete hard-removal is not established for this target. Inventory and source presence do not establish safe use beside protected UI.
- The published module already prefers modern selection dropdowns and uses
MenuUtil.CreateContextMenu. Legacy runtime wrappers are capability-specific helpers; they are not translations of legacy initializer callbacks into modern menu descriptions. - A real-source regression did expose a pre-existing gap: context-menu
availability depended on probing a selection-dropdown template it never
uses. The local fix gates context menus only on their actual modern API.
A second check rejects a partial legacy API lacking
ToggleDropDownMenu. - Legacy paths remain for clients that support them. No wholesale deletion or API-semantic substitution is justified by the evidence above.
Resize evidence
Forever 1.60.1.70170 source, commit
9a789c074b8e73c5d604ef2d6af3bb5b3aefb348, generated
SimpleFrameAPIDocumentation.lua:1445–1455 documents
SetResizeBounds(minWidth, minHeight, maxWidth, maxHeight).
The five synced flavor widget inventories all list this setter.
The reported book crash is reproduced by running real consumer EnsureFrame
with only that supported setter. Local correction uses the framework adapter
when present, otherwise the supported native setter for already-published
framework versions. The exact 640×420 to 1400×1000 bounds are retained.
Remaining live-client gates
For each actual published dependent product/flavor, record its release tag, TOC/dependency, loaded module inventory and tested framework artifact hash. Then verify startup, saved-settings restoration/reset, dropdown opening and selection, font preview/application, scrolling/resize/show/hide, and any combat/restricted paths that product actually uses. Record client build and results individually. Headless fixtures or a release upload cannot satisfy these gates, and a beta-only consumer does not prove a live product works.