mikebridge opened a new pull request, #44370: URL: https://github.com/apache/superset/pull/44370
### SUMMARY When a semantic provider changes member identity encoding, saved display-title selections can silently identify a different member—even when an old title exactly equals a new ID. Add an optional selection-version contract and require explicit reset/reselection for mismatched saved selections before cache lookup or provider execution. Explore and native filters explain the reset, clear legacy selections, and preserve the explicit version through save/load. Dashboard filters and display controls carry their own datasource/version provenance. REST datasource queries and MCP discover and transport the version without upgrading old keys automatically. Providers that do not declare a version retain their behavior. This host/frontend/core companion is required by the SC-121267 Cube adapter. Deploy compatible host, frontend, core and provider together. Existing semantic-layer feature flags stay default-off; no database rewrite. Based on Apache master `4c77b0b924a9bd770110915eacd68f5619e8241d`. The proposed MetadataBar prerequisite proved unnecessary after restoring complete locked workspace dependencies; this PR contains no unrelated baseline repair. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Component tests cover the explanation/reset and hide legacy query/Matrixify controls before reselection. No real-browser screenshots or save/reopen walkthrough captured; kept draft for that acceptance and live Cube verification. ### TESTING INSTRUCTIONS - 565 affected host tests passed: semantic layers, datasource query API, common tabular queries, MCP list_metrics/get_table. - 11 affected frontend suites passed: 127 passed, 1 pre-existing skipped sidebar-title test. - All referenced frontend package declarations compiled; all configured changed-file hooks passed, including MyPy and full frontend TypeScript. Manual pylint over all changed production Python: 10.00/10. - Two idle time-column regression cases fail on the prior implementation and pass after the fix. - 54 Cube adapter tests passed against this core source. OpenAPI regenerated with only the two optional wire-marker fields changed. Manually open an old title-keyed Cube chart, observe the explanation, start field selection, choose current metric/dimension IDs, save and reopen. Repeat for native filters and stale permalink/customization state, including a legacy title equal to a current member ID. Verify non-versioned semantic providers retain their behavior. ### ADDITIONAL INFORMATION - [x] Has associated issue: SC-121267 - [x] Required feature flags: existing ENABLE_EXTENSIONS/SEMANTIC_LAYERS, default-off - [x] Changes UI - [ ] Includes DB Migration - [x] Introduces new feature or API: optional selection-version contract - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
