You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/08/14 18:15:51 UTC

(superset) branch fix/docker-matrix-py311-py312-pyver-override updated (c8ddd903d94 -> bf3eaa2ab7f)

This is an automated email from the ASF dual-hosted git repository.

rusackas pushed a change to branch fix/docker-matrix-py311-py312-pyver-override
in repository https://gitbox.apache.org/repos/asf/superset.git


    from c8ddd903d94 fix(ci): assert PY_VER override against supersetbot's actual buildx command
     add a00e2952a13 style(frontend): apply oxfmt to existing files (#42813)
     add ea8fa58158a docs: scope AI pre-commit checks to changed files, to align with ci's pre-commit checks (#42835)
     add e4c306f5eb9 fix(deps): revert simple-zstd from 2.1.0 back to 1.4.2, again (#42804)
     add ba09f399ac0 feat(soft-delete): enable soft delete by default and purge for real (#42800)
     add 01a9fdc6216 chore(reports): thread cache-key/execution-id log context through screenshot capture logs (#42657)
     add 2ecce20e48f chore(viz): remove legacy explore_json + viz.py pipeline (#41714)
     add 4f2147009f1 feat(dashboard): expand all chart descriptions (#32958)
     add 7dd6ce835f5 fix(datasets): catch TemplateError instead of narrower TemplateSyntaxError in render_dataset_fields (#42802)
     add 22fb1b3a443 test(dashboard): migrate edit-mode component E2E tests to Playwright (#41438)
     add ae66b697e5c fix(plugin-chart-table): align sticky header column dividers with table body (#42573)
     add 9cec7411e93 chore(deps): bump mermaid from 11.16.0 to 11.16.1 in /docs (#42873)
     add 448eb25d764 feat(docs): add documentation for usage of minio or other s3 compatible service as a cache backend or celery results backend (#35825)
     add 8153a824895 chore(deps): bump baseline-browser-mapping from 2.11.7 to 2.11.8 in /docs (#42852)
     add 39e66476e11 chore(deps): bump actions/setup-java from 5.6.0 to 5.7.0 (#42884)
     add 27498d26aae chore(deps): bump the docusaurus-openapi group in /docs with 2 updates (#42883)
     add 14583b6a5f6 fix(themes): serve system themes with the algorithm of the slot they fill (#42700)
     add 8683d1608e0 fix(migrations): merge divergent Alembic heads into a single chain (#42878)
     add d363cabec9e chore(deps): bump markdown-to-jsx from 9.9.0 to 9.10.1 in /superset-frontend (#42885)
     add b7b873321d7 chore(deps-dev): bump baseline-browser-mapping from 2.11.7 to 2.11.8 in /superset-frontend (#42872)
     add 1770823f0af chore(deps-dev): bump eslint-plugin-jest-dom from 5.6.0 to 5.7.0 in /superset-frontend (#42868)
     add f1411ccd6c1 chore(deps-dev): update pyathena requirement from <4,>=3.35.2 to >=3.35.4,<4 (#42862)
     add fe06ebe796f feat(versioning): enable version history and capture by default (#42801)
     add 74196cf694b chore(deps): bump markdown from 3.10.2 to 3.10.3 (#42859)
     add f348cf425d0 chore(deps): bump shillelagh from 1.4.4 to 1.4.5 (#42858)
     add 70a82a28bfa chore(deps): bump redis from 8.0.1 to 8.1.0 (#42857)
     add c2b5311f473 chore(deps-dev): bump google-cloud-bigquery from 3.42.2 to 3.43.0 (#42861)
     add fd6a0a60a6d chore(deps): bump holidays from 0.100 to 0.102 (#42860)
     add 79c2cd367dc chore(deps): update flask-sqlalchemy requirement from <3.0,>=2.5.1 to <4.0,>=2.5.1 (#42771)
     add 280253b1fbb fix(deletion-retention): dedupe repeated blocked audits (#42863)
     add 38ba4a69bf0 chore(deps): bump react-intersection-observer from 10.1.0 to 11.0.0 in /superset-frontend (#42869)
     add 86a328ca9ec chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /docs (#42894)
     add 91b1a6cac5a feat(theme): allow deployments to register extra theme tokens
     add 0f9049608a5 chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /superset-frontend (#42893)
     add 4c894affb22 fix(models): purge_oauth2_tokens filters on wrong column (#42211)
     add c901f016930 fix(datasets): preserve metric/column uuids on dataset export (#42393)
     add 55af4685a2e fix(i18n-es): correct fuzzy-matcher strandings in Spanish catalog (#42808)
     add eb8592d4bf1 fix(sqla): don't mislabel DB errors as ColumnNotFoundException in adhoc_column_to_sqla (#42889)
     add b18015f63bf feat: Color Picker replaces the color selection drop-down list in conditional formatting (#42053)
     add 6baa467f59c chore(deps): bump google-auth-library from 10.9.1 to 11.0.0 in /superset-frontend (#42870)
     add d80f4c841d1 chore(deps-dev): update sqlalchemy-risingwave requirement from <2.0.0,>=1.4.1 to <3.0.0,>=1.4.1 (#42856)
     add fd36419ca2e chore(deps): bump nanoid from 3.3.16 to 3.3.18 in /docs (#42902)
     add a6c478c59d5 chore(deps-dev): bump lerna from 9.0.4 to 10.0.0 in /superset-frontend (#42829)
     add bd03440ac87 feat(alerts-reports): add per-schedule toggle to include/exclude the Explore in Superset link (#42494)
     add d8b97e31faf chore(deps-dev): bump @playwright/test from 1.61.1 to 1.62.1 in /superset-frontend (#42699)
     add 2a9c5acb019 chore(deps): bump numpy from 1.26.4 to 2.4.6 (#42778)
     add 38727906a2b chore(deps): bump react-window and @types/react-window in /superset-frontend (#42528)
     add 44a86b725f0 chore(deps-dev): update teradatasql requirement from >=20.0.0.63 to >=20.0.0.64 (#42909)
     add 503309531fb chore(deps-dev): update playwright requirement from <2,>=1.61.0 to >=1.62.0,<2 (#42908)
     add 185b5938bac chore(deps-dev): bump pyinstrument from 5.1.2 to 5.1.3 (#42905)
     add 1da7a7fdb10 chore(deps-dev): update starrocks requirement from <2,>=1.3.3 to >=1.3.4,<2 (#42903)
     add 25481799f6b test(deckgl): pin GeoJSON layer against multi-row payloads (#34748) (#42734)
     add 127a6f92a6d chore(i18n): update french po file to match latest pot file version (#40635)
     add 4a587b85398 feat(security): actionable, request-access-aware data permission errors (#41843)
     add abb6dd6e39c fix(i18n): add Tamil (ta) locale with corrected catalog path (#38962)
     add db5cd1aa389 chore(i18n): update Italian messages.po translations (#38948)
     add a75665b014f fix(i18n): improve Simplified Chinese translations (#42794)
     add d14ab29dcb8 feat(a11y): enable ECharts aria-label (#28171)
     add 8181917f790 fix: Apply timezone offset to convert local time boundaries to UTC (#37014)
     add 42e4030104c feat(security): add guest user attributes and get_guest_user_attribute() macro (#33924)
     add bf294cfa43d perf(dashboard): avoid query context N+1 queries (#42474)
     add 3b164e42708 fix(ci): remove extraneous plugins build job (#42677)
     add b4130600309 chore(deps): restore redis floor to >=5.0.0 (#42915)
     add fea84e81ef9 fix(tech-debt): measure oxlint metrics against the project's ruleset (#42955)
     add f8925cc7262 feat(build): reinstate `no-restricted-imports` lint rule for `lodash` (#42940)
     add c09d5bf6a99 fix(helm): add missing task modules to default CeleryConfig imports (#42945)
     add 3539c41dab2 chore(deps): bump cryptography from 49.0.0 to 50.0.0 (#42906)
     add 7cd6c747575 chore(deps-dev): bump @types/lodash from 4.17.24 to 4.17.25 in /superset-frontend (#42974)
     add 4c9bd69eb47 chore(deps): bump antd from 6.5.2 to 6.5.3 in /superset-frontend (#42973)
     add ee5fb095da2 chore(deps-dev): bump baseline-browser-mapping from 2.11.8 to 2.11.11 in /superset-frontend (#42972)
     add 2be726ddad3 chore(deps-dev): bump tsx from 4.23.1 to 4.23.5 in /superset-frontend (#42971)
     add 10cf2e20f9f chore(deps-dev): bump eslint-plugin-jest-dom from 5.7.0 to 5.10.1 in /superset-frontend (#42970)
     add d41032b70ae chore(deps): bump Kesin11/actions-timeline from 3.1.1 to 3.2.0 (#42969)
     add e12818897de chore(deps): bump github/codeql-action/init from 4.37.3 to 4.37.5 (#42967)
     add d7edf610a93 chore(deps-dev): bump @babel/types from 7.29.7 to 7.29.8 in /superset-frontend in the babel group (#42966)
     add 73478c52745 chore(deps): bump baseline-browser-mapping from 2.11.8 to 2.11.11 in /docs (#42964)
     add 346dbd6a98e chore(deps): bump js-yaml from 5.2.2 to 5.2.3 in /docs (#42963)
     add 9719c7de246 chore(deps-dev): bump globals from 17.8.0 to 17.9.0 in /docs (#42962)
     add 6a2e20cdb75 chore(deps): bump zizmorcore/zizmor-action from 0.6.1 to 0.6.2 (#42960)
     add 916c50284b8 chore(deps): bump github/codeql-action/analyze from 4.37.3 to 4.37.5 (#42965)
     add f53f634f233 chore(deps): bump antd from 6.5.2 to 6.5.3 in /docs (#42961)
     add db88abe0bbc chore(deps-dev): bump globals from 17.8.0 to 17.9.0 in /superset-websocket (#42958)
     add 9e2cb69a394 feat(database): identify configured database connection errors (#42996)
     add b815640b8fd chore(deps): bump actions/setup-java from 5.6.0 to 5.7.0 (#42968)
     add daf1718b448 fix(embedded): redact database errors in API responses to guest users (#42796)
     add c02dc7780b0 docs(mcp): add update_dashboard to write-tools enumeration (#42943)
     add f60370b6955 docs: document CACHE_REDIS_SOCKET_TIMEOUT/CONNECT_TIMEOUT config keys (#42947)
     add a9eab4a0df1 docs: document color picker for conditional formatting rule colors (#42948)
     add 4b68da82a70 docs: document number format presets, including distance/length units (#42950)
     add 341ca94ba25 docs(security): document the read-only Subject REST API (#42951)
     add 5bcd9cd0780 docs(exploring-data): document CSV/XLSX download in drill modals (#42952)
     add 7dc2afd377b docs(cache): document native filter option cache warm-up strategy (#42953)
     add 4defdbabd28 fix(dashboard): force-render virtualized charts before client-side export (#42561)
     add b98e1571043 fix(sqla): preserve float precision when mixing int/float values in IN filters (#42752)
     add d9ae0ec2fc4 fix(deckgl): hide legend when Legend Position is None (#42402)
     add 651c046e699 fix(deckgl): remove visibility condition in deckgl fill color (#42712)
     add d62a9eeda6c fix(calendar): clean up d3-tip tooltips (#41589)
     add b6504eb1110 fix(sql): resolve schema/catalog-qualified table references in CTE detection (#42717)
     add 9d6832c927c feat(formatting): add network throughput number formats for bits/s and bytes/s (#42437)
     add 50c811280e5 fix(lru-cache): don't evict another entry when overwriting an existing key (#42409)
     add 572f86c3c3a fix(deckgl): normalize legend swatch alpha channel to 0-1 for CSS rgba() (#42942)
     add 776f70bf63c chore(deps): bump ioredis from 5.11.1 to 6.0.0 in /superset-websocket (#42959)
     add 347774f9b82 fix(explore): stop the viz switcher from overflowing the control panel (#42911)
     add 178d9c4cebd fix(explore): stacked Timeseries Bar total excludes the sort-only metric (#42881)
     add 0dedc55f380 fix(dashboard): changing a theme no longer discards unsaved edits or reloads charts
     add bc85f1eacf9 fix(database): resolve default schema when file upload schema is empty (#42603)
     add 2eb1e042836 fix: hydrate JWT user before list API filters (#39946)
     add fdfc49461fa fix(sqllab): wrap process_template() in format_sql to prevent raw UndefinedError leak (#42917)
     add 4d0eeb7d86b docs: document FAB_API_SWAGGER_UI_SUPERSET_APP_ROOT config flag (#43009)
     add e48512568d5 docs(dashboard): document the expand_all_slices metadata flag (#43010)
     add 651f75b1e8c docs(dashboard): document native filters on semantic views (#43011)
     add 0c09cf087d9 fix(reports): translate execute-now success message (#43012)
     add 5f204a9af28 fix(frontend): remove any type and duplicate route in routes.tsx (#43014)
     add 265269018e0 fix(mcp): require issuer-aware resolver for multi-issuer JWT, fix sanitizer input ordering (#42935)
     add bfa1e775c4d fix(theming): guard ensureStaticPrefix against null/undefined input (#43019)
     add d84a00f3c62 feat(dashboard): handle empty chart query context in Excel export (#42284)
     add 7157b752eef fix(pie): apply percentage number format to labels (#42880)
     add 34b2d3a5339 fix(rls): match null-schema datasets in predicate lookup (#41426)
     add 5ee279363ca fix(mcp): reject list values for ne on relationship filters (#42944)
     add 65d808a5fe8 chore(deps): bump markdown-to-jsx from 9.10.1 to 9.10.2 in /superset-frontend (#43052)
     add 579011dea9d chore(deps): bump nanoid from 6.0.0 to 6.0.1 in /superset-frontend (#43050)
     add 590003cbee3 chore(deps): bump baseline-browser-mapping from 2.11.11 to 2.11.12 in /docs (#43043)
     add 156a59a1909 chore(deps): bump swagger-ui-react from 5.32.11 to 5.32.12 in /docs (#43041)
     add a5a6f5a5b11 chore(deps): bump ws from 8.21.1 to 8.21.2 in /superset-websocket (#43036)
     add 497c73e8370 chore(deps): bump github/codeql-action/init from 4.37.5 to 4.37.6 (#43044)
     add 8bbf0cfc200 chore(deps-dev): bump oxlint from 1.76.0 to 1.77.0 in /superset-frontend (#43049)
     add 29e8e396ee2 chore(deps-dev): bump the storybook group in /superset-frontend with 5 updates (#43045)
     add 581fb876e46 chore(deps-dev): bump oxfmt from 0.61.0 to 0.62.0 in /docs (#43042)
     add 64165fbdae7 chore(deps-dev): bump @typescript-eslint/parser from 8.65.0 to 8.66.0 in /superset-websocket (#43035)
     add 47adbe31d5c chore(deps-dev): bump typescript-eslint from 8.65.0 to 8.66.0 in /superset-websocket (#43034)
     add c4e8a9da909 test(explore): add end-to-end regression test for DatasourcePanel through the real AutoSizer + react-window List pipeline (#43023)
     add 544756a6313 chore(deps): bump github/codeql-action/analyze from 4.37.5 to 4.37.6 (#43040)
     add 553808daa35 fix(reports): make webhook notification request timeout configurable (#43018)
     add e31a894be6a fix(common): remove unsupported cross join mode from left_join_df (#43016)
     add bc436bacad2 chore(security): warn when legacy encryption engine is configured (#42937)
     add 5099b6ffa95 fix(export): derive chart_hashes and zip from a single chart list (#42946)
     add 305638e98c7 chore(deps-dev): bump baseline-browser-mapping from 2.11.11 to 2.11.12 in /superset-frontend (#43048)
     add d6771e96d28 fix(core): let UnsavedChangesModal use Ant Design's automatic z-index stacking (#42548)
     add aade32cad8d chore(deps-dev): bump the typescript-eslint group across 1 directory with 3 updates (#43039)
     add ec6b2d2347f chore(deps-dev): bump oxfmt from 0.61.0 to 0.62.0 in /superset-websocket (#43033)
     add 5767c3981da chore(deps): bump the storybook group across 1 directory with 2 updates (#43037)
     add 2feb6c2bb55 refactor(deletion-retention): add declarative purge policies (#42888)
     add 3cd41505398 chore(deps): bump sqlglot from 30.15.0 to 30.16.0 (#43029)
     add 7b32b870e13 chore: Fix/remove hardcode of admin role (#27779)
     add a3d58d12116 fix(ci): use current actions for Docker refresh (#42482)
     add 998c4086867 fix(rls): return a descriptive error for duplicate rule names (#42819)
     add 4c5a3356f33 fix(dashboard): redirect using sanitized slug from save response (#42853)
     add 9086bab2c22 ci(e2e): stop gunicorn worker recycling mid-run; slow-test budget for mixed-chart filter spec (#42867)
     add af258c21d03 fix(mixed-chart): Mixed chart secondary yaxis title position misplaced fix (#42713)
     add 63a81c21256 fix(dashboard): remeasure chart description height after markdown render (#41536)
     add 3ded398a1f3 fix(chart): dataset dropdown sorted by name (#42475)
     add edf30c7019c chore: add logging event for drill to detail (#42563)
     add 0d57c5ab502 fix(dashboard): consistently apply the datasource-access check when serializing member charts and datasets (#42716)
     add f6077eeaa14 fix(dataset): validate stored column and metric expressions at query time (#42087)
     add d91ca50872b perf(charts): reuse datasource in query context (#42476)
     add bdf8ce69abb feat(Reports&Alerts): remove Selenium support, require Playwright (#43028)
     add 52483675870 fix: verify database access before dataset repointing, and tab ownership before tab-state updates (#42936)
     add 0a2cfb9fba4 chore(deps-dev): bump oxfmt from 0.61.0 to 0.62.0 in /superset-frontend (#43046)
     add 8bd25b3feda chore(deps-dev): bump the typescript-eslint group across 1 directory with 2 updates (#43038)
     add a0099af88fc fix(deck.gl): dismiss custom tooltips on hover-out (#43075)
     add d570335f677 fix: bind permission-sync task to user id, use per-user RLS cache sentinel on parse failure (#42938)
     add 584466e02b2 fix(sql-lab): improved SQL statement parsing and validation (#42928)
     add 885f00130c0 fix(sqla): drop stale main_dttm_col from dttm_cols when non-temporal (#30510) (#41964)
     add 56573fa2cda feat(mcp): filter asset lists by certification (#42656)
     add 8734a232d8c fix(reports): apply chart number and currency formatting to tables sent as text (#42820)
     add 8e455034d05 chore(codeowners): trim stale ownership blocks, reword maps notice (#43079)
     add b4f3fae2880 fix(sql): guard FORCE_LIMIT against SHOW statements (#36939) (#42588)
     add 8f6587d0e67 fix(caching): sort extra_cache_keys before hashing (#34543) (#42597)
     add 2c10e6260f7 fix(explore): pin and fix clipped segments in horizontal row-contribution stacked bar charts (#42610)
     add 174d35380dd chore(deps-dev): bump tsx from 4.23.5 to 4.23.7 in /superset-frontend (#43083)
     add d840568f3bb chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /superset-frontend (#43082)
     add 4354b37b963 fix(sql-lab): apply SQL_QUERY_MUTATOR to streaming exports (#40465) (#42739)
     add a501fed560e fix(rls): handle same-named CTEs and quoted aliases in the SQL rewrite (#43005)
     add a0d7ec9fafd fix(select): permission label search matches displayed label (#42041) (#42592)
     add cc35056bc96 test(core): pin dashboard save-error toast mapping for non-JSON 403 responses (#42250)
     add aefee482239 fix(GridTable): remove unused rowSelection option to silence AG Grid error #200 (#43078)
     add 4baf1cf648e fix(reports): preserve Slack v1 private-channel text delivery (#42089)
     add ed696b99336 test(sql): pin optimizer hint blocks survive format() round-trip (#38189) (#42733)
     add 0c2f91968e6 fix: commit migration write in get_shared_value to stop recurring md5 deprecation warning (#42916)
     add 01ecefd732e fix(security_manager): stop SupersetAuthView from shadowing AUTH_REMOTE_USER (#42949)
     add eb7d4cba42f fix(explore): hide Superset annotation source for users without annotation access (#43006)
     add 8014f782d3c feat: bump SQLAlchemy to 2.0 and flask-sqlalchemy to 3.1.1 (#42803)
     add 0915a39bcbe fix(dataset): improve dataset, report, and expression validation (#42929)
     add bc1a8e0858b refactor(tags): align ExportTagsCommand with ExportModelsCommand (#42339)
     add 739365979d4 fix: upgrade brace-expansion to 5.0.8 (CVE-2026-14257) (#42435)
     add 685f26b1bf9 fix(cache): warm native dashboard filter defaults (#43073)
     add de2276225af test(playwright): pin drill-to-detail modal table height (#42406)
     add 22caf221b7c fix(echarts): truncate values at Y axis bounds instead of dropping them (#42300)
     add 07accd56f21 chore(deps): bump core-js from 3.49.0 to 3.50.0 in /superset-frontend (#43107)
     add eefb3e38359 chore(deps-dev): bump tsx from 4.23.7 to 4.23.9 in /superset-frontend (#43106)
     add 657a2a4cb2a chore(deps): bump mapbox-gl from 3.27.0 to 3.28.0 in /superset-frontend (#43105)
     add 524d99159a0 chore(deps): bump immer from 11.1.15 to 11.1.16 in /superset-frontend (#43104)
     add 276d6f04f53 chore(deps): bump actions/setup-java from 5.6.0 to 5.7.0 (#43102)
     add 08dfca96313 fix(ci): enforce a single Alembic migration head (#42890)
     add 59361581cdf fix(embedded): restore chart rendering for guest dashboards (#43095)
     add e2bb33b1da1 chore(deps): bump the ag-grid group across 1 directory with 2 updates (#43103)
     add 5554b892ffa fix(mcp): preserve table chart state during updates (#42655)
     add 762fdccfdef fix(oauth2): log database token failures (#42644)
     add e1777737a71 fix(docs): sync live component demos to the docs site's dark mode toggle (#42602)
     add c8305b0ba98 feat(ci): publish Python unit test results as PR check annotations (#42503)
     add fbeba10f750 fix(sqllab): make MenuDotsDropdown trigger focusable for tab rename (#43015)
     add d5ae93c9b8d test(echarts): pin Bar chart X Axis Title flows through untouched (#42560) (#42599)
     add 25c2ca11276 ci: run pre-commit checks via prek (#42500)
     add b8ca729f9fc fix(sql): only force a LIMIT onto query expressions (#43097)
     add d0658bacc89 fix(mcp): give concurrent tool calls isolated db sessions (#42629)
     add ec136f6d8df fix(charts): decode CSV bytes payload before feeding pandas StringIO (#32370) (#42735)
     add c8cb09d4589 fix(dev): stop the webpack dev-proxy from hanging on a mid-stream backend disconnect (#42811)
     add e1468a709c0 fix(sunburst): keep SQL null and literal string "null" as distinct groups (#43013)
     add 117b92a517a fix(mcp): expose table column formatting (#42658)
     add 5b281585194 fix(helm): stop shipping conflicting podDisruptionBudget defaults (#42995)
     add 6211f9936b3 feat(mobile): Add mobile-friendly dashboard consumption mode (#37141)
     add 67bbe0ac173 ci: speed up backend CI with astral-sh/setup-uv and apt package caching (#42498)
     add dc9547554b4 fix(echarts): normalize BigInt metric values before summing/dividing in stacked charts (#36401) (#42594)
     add f7a2f0ec501 feat(table): allow choosing Sum or Average for the "Show summary" totals row (#43027)
     add 3c7633f935f fix(encrypt): stop naive padding from truncating secrets ending in '*' (#43074)
     add 01d0772d4f3 fix(box-plot): distribute across field not marked as required for datasets without a temporal column (#43087)
     add a63483b9b1a fix(sql): rebase Dremio dialect on sqlglot's native dialect (#43099)
     add 3fb58900b9a chore(duckdb): remove cursor.description workaround, no longer reproducible (#43101)
     add 930ba64fdf3 fix(ci): format ErrorMessage tests (#43114)
     add 8f78f9eb9c7 chore: update CODEOWNERS for extension and config files (#43142)
     add 537f0fd2dbe fix(sqllab): use dialect-specific quote chars for autocomplete identifiers (#41492)
     add a188e9473ab feat(chart): let Drill By scope to the clicked x-axis value (#42296)
     add bacaf08a22f docs(perf): add Dashboard Performance guide covering virtualization, lazy tabs, and chart-count guidance (#40238)
     add aec567f7d6c chore(deps): bump antd from 6.5.3 to 6.5.4 in /superset-frontend (#43162)
     add a6db0d1cde2 chore(deps): bump query-string from 9.4.1 to 9.5.0 in /superset-frontend (#43161)
     add 9bc3173e3a3 chore(deps): bump antd from 6.5.3 to 6.5.4 in /docs (#43160)
     add 8523ea4d0a9 chore(deps): bump caniuse-lite from 1.0.30001806 to 1.0.30001807 in /docs (#43159)
     add acf39e3ef0c chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /superset-frontend (#43158)
     add 3b99e092d08 chore(deps-dev): bump tsx from 4.23.9 to 4.23.10 in /superset-frontend (#43157)
     add 9c5bde94918 chore(deps): bump mapbox-gl from 3.28.0 to 3.28.1 in /superset-frontend (#43156)
     add 7c0c5283c3f chore(deps-dev): bump the storybook group in /superset-frontend with 5 updates (#43155)
     add a4c47359e61 chore(deps): bump the storybook group in /docs with 2 updates (#43154)
     add 84c371d56e1 chore: fix stale developer_portal paths (#43143)
     add 92728169de9 docs: document the zstd prerequisite for the frontend dev server (#43109)
     add c395b9a2383 fix(examples): migrate Life Expectancy VS Rural % example off the removed legacy bubble viz_type (#43152)
     add 856599027a8 fix(mcp): harden the embedded-guest chart data-read path
     add 1e65d93a836 fix(sql): handle ORDER BY in embedded MSSQL queries (#43127)
     add b62ec512d2c fix(explore): hide edit-properties menu item for non-owner/non-editor users (#38884) (#42737)
     add bf3eaa2ab7f Merge branch 'master' into fix/docker-matrix-py311-py312-pyver-override

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |     1 +
 .github/CODEOWNERS                                 |    41 +-
 .github/actions/setup-backend/action.yml           |    28 +-
 .github/dependabot.yml                             |     7 +
 .github/workflows/bashlib.sh                       |    19 +-
 .github/workflows/bump-python-package.yml          |     5 +-
 .github/workflows/check-python-deps.yml            |     2 +-
 .github/workflows/codeql-analysis.yml              |     4 +-
 .github/workflows/dependency-review.yml            |     2 +-
 .github/workflows/docker.yml                       |     2 +-
 .../workflows/enforce-single-migration-head.yml    |    82 +
 .github/workflows/generate-FOSSA-report.yml        |     2 +-
 .github/workflows/github-action-validator.yml      |     2 +-
 .github/workflows/license-check.yml                |     2 +-
 .github/workflows/pre-commit.yml                   |    33 +-
 .../workflows/scheduled-docker-image-refresh.yml   |    16 +-
 .github/workflows/superset-app-cli.yml             |     2 +-
 .github/workflows/superset-docs-deploy.yml         |    10 +-
 .github/workflows/superset-e2e.yml                 |     2 +-
 .github/workflows/superset-extensions-cli.yml      |     2 +-
 .github/workflows/superset-frontend.yml            |     7 +-
 .github/workflows/superset-helm-lint-test.yml      |     2 +-
 .github/workflows/superset-playwright.yml          |    13 +-
 .../workflows/superset-python-integrationtest.yml  |     2 +-
 .github/workflows/superset-python-presto-hive.yml  |     2 +-
 .../workflows/superset-python-unittest-report.yml  |    70 +
 .github/workflows/superset-python-unittest.yml     |    35 +-
 .github/workflows/superset-translations.yml        |     7 +-
 .gitignore                                         |     1 +
 AGENTS.md                                          |    17 +-
 CONTRIBUTING.md                                    |     2 +-
 UPDATING.md                                        |   292 +-
 docker/pythonpath_dev/superset_config.py           |     1 +
 docs/admin_docs/configuration/alerts-reports.mdx   |    65 +
 .../configuration/async-queries-celery.mdx         |    10 +-
 docs/admin_docs/configuration/cache.mdx            |    68 +-
 .../configuration/configuring-superset.mdx         |    16 +
 .../admin_docs/configuration/country-map-tools.mdx |     8 +-
 .../configuration/dashboard-performance.mdx        |   184 +
 docs/admin_docs/configuration/sql-templating.mdx   |    70 +
 docs/admin_docs/security/security.mdx              |    45 +
 .../contributing/development-setup.md              |    24 +
 .../frontend/component-style-guidelines.md         |     2 +-
 docs/docs/faq.mdx                                  |    16 +
 .../creating-your-first-dashboard.mdx              |    29 +
 docs/docs/using-superset/embedding.mdx             |     1 +
 docs/docs/using-superset/exploring-data.mdx        |     7 +
 .../using-superset/exporting-dashboard-data.mdx    |    10 +-
 docs/docs/using-superset/mobile-experience.mdx     |    93 +
 docs/docs/using-superset/number-formatting.mdx     |    92 +
 docs/package.json                                  |    28 +-
 docs/src/components/StorybookWrapper.jsx           |    67 +-
 docs/static/feature-flags.json                     |    20 +-
 .../img/screenshots/mobile/mobile_dashboard.jpg    |   Bin 0 -> 68479 bytes
 .../screenshots/mobile/mobile_dashboard_list.jpg   |   Bin 0 -> 82502 bytes
 .../screenshots/mobile/mobile_filter_drawer.jpg    |   Bin 0 -> 58074 bytes
 docs/static/img/screenshots/mobile/mobile_home.jpg |   Bin 0 -> 35338 bytes
 .../img/screenshots/mobile/mobile_nav_drawer.jpg   |   Bin 0 -> 35385 bytes
 .../img/screenshots/mobile/mobile_unsupported.jpg  |   Bin 0 -> 42668 bytes
 docs/static/resources/openapi.json                 |     7 +
 docs/yarn.lock                                     |  1233 +-
 helm/superset/Chart.yaml                           |     2 +-
 helm/superset/README.md                            |    28 +-
 helm/superset/templates/_helpers.tpl               |     1 +
 helm/superset/templates/pdb-beat.yaml              |     2 +-
 helm/superset/templates/pdb-flower.yaml            |     2 +-
 helm/superset/templates/pdb-mcp.yaml               |     2 +-
 helm/superset/templates/pdb-worker.yaml            |     2 +-
 helm/superset/templates/pdb-ws.yaml                |     2 +-
 helm/superset/templates/pdb.yaml                   |     2 +-
 helm/superset/tests/pdb_test.yaml                  |    87 +
 helm/superset/values.yaml                          |    26 +-
 pyproject.toml                                     |    90 +-
 pytest.ini                                         |    20 -
 requirements/base.in                               |     2 +-
 requirements/base.txt                              |    54 +-
 requirements/development.txt                       |    72 +-
 scripts/change_detector.py                         |     1 +
 superset-core/pyproject.toml                       |     2 +-
 .../cypress/e2e/dashboard/editmode.test.ts         |    82 -
 .../e2e/dashboard/shared_dashboard_functions.ts    |     1 +
 .../cypress-base/cypress/utils/index.ts            |    28 -
 superset-frontend/cypress-base/package-lock.json   |    15 +-
 superset-frontend/cypress-base/package.json        |     3 +
 superset-frontend/jest.config.js                   |     2 +-
 superset-frontend/oxlint.json                      |    13 +
 superset-frontend/package-lock.json                |  3747 ++--
 superset-frontend/package.json                     |    76 +-
 .../packages/superset-core/package.json            |     3 +-
 .../src/theme/SupersetThemeProvider.test.tsx       |   205 +
 .../superset-core/src/theme/Theme.test.tsx         |    78 +
 .../packages/superset-core/src/theme/Theme.tsx     |   129 +-
 .../superset-ui-chart-controls/src/types.ts        |     3 +-
 .../src/utils/D3Formatting.ts                      |     5 +
 .../src/utils/buildSortMetricOrderby.ts            |    87 +
 .../src/utils/getColorFormatters.ts                |    46 +-
 .../src/utils/getTotalsMetrics.test.ts             |    79 +
 .../src/utils/getTotalsMetrics.ts                  |    43 +
 .../superset-ui-chart-controls/src/utils/index.ts  |     2 +
 .../test/utils/buildSortMetricOrderby.test.ts      |    96 +
 .../test/utils/getColorFormatters.test.ts          |   164 +
 .../packages/superset-ui-core/package.json         |    11 +-
 .../src/chart/clients/ChartClient.ts               |    33 +-
 .../src/chart/components/StatefulChart.test.tsx    |    52 +-
 .../src/chart/components/StatefulChart.tsx         |    45 +-
 .../src/chart/components/reactify.tsx              |    47 +-
 .../src/chart/models/ChartMetadata.ts              |     5 -
 .../src/chart/models/ChartProps.ts                 |     1 -
 .../superset-ui-core/src/chart/types/Base.ts       |     7 +
 .../packages/superset-ui-core/src/color/utils.ts   |    43 +
 .../src/components/AsyncAceEditor/index.tsx        |     3 +
 .../src/components/AsyncAceEditor/types.ts         |     3 +
 .../src/components/Dropdown/Dropdown.test.tsx      |    35 +-
 .../src/components/Dropdown/index.tsx              |    28 +-
 .../src/components/DynamicEditableTitle/index.tsx  |    16 +
 .../src/components/Modal/Modal.stories.tsx         |    72 +
 .../src/components/PageHeaderWithActions/index.tsx |    18 +
 .../src/components/Select/AsyncSelect.test.tsx     |    46 +
 .../src/components/Table/VirtualTable.test.tsx     |   122 +
 .../src/components/Table/VirtualTable.tsx          |   155 +-
 .../UnsavedChangesModal.test.tsx                   |   180 +-
 .../src/components/UnsavedChangesModal/index.tsx   |    93 +-
 .../factories/createThroughputFormatter.ts         |    86 +
 .../superset-ui-core/src/number-format/index.ts    |     1 +
 .../superset-ui-core/src/utils/featureFlags.ts     |     1 +
 .../superset-ui-core/src/utils/lruCache.ts         |     7 +-
 .../superset-ui-core/src/utils/mapStyles.test.ts   |    12 +
 .../superset-ui-core/src/utils/mapStyles.ts        |    13 +
 .../test/chart/clients/ChartClient.test.ts         |    66 +-
 .../test/chart/components/reactify.test.tsx        |    38 +-
 .../superset-ui-core/test/color/utils.test.ts      |    49 +
 .../factories/createThroughputFormatter.test.ts    |   131 +
 .../test/query/getClientErrorObject.test.ts        |    26 +
 .../superset-ui-core/test/utils/lruCache.test.ts   |    21 +
 superset-frontend/playwright.config.ts             |    18 +
 .../components/modals/DeleteConfirmationModal.ts   |    46 +-
 .../generators/docs/mobile-screenshots.spec.ts     |   173 +
 superset-frontend/playwright/helpers/dnd.ts        |    74 +
 .../playwright/pages/DashboardPage.ts              |   346 +-
 superset-frontend/playwright/pages/EmbeddedPage.ts |    38 +-
 .../playwright/tests/chart/chart-list.spec.ts      |    16 +-
 .../tests/dashboard/clear-all-filters.spec.ts      |    52 +-
 .../tests/dashboard/dashboard-list.spec.ts         |    17 +-
 .../tests/dashboard/dashboard-test-helpers.ts      |   111 +
 .../tests/dashboard/delete-display-control.spec.ts |    93 +-
 .../tests/dashboard/drill-to-detail.spec.ts        |   162 +
 .../tests/dashboard/edit-mode-components.spec.ts   |   200 +
 .../mixed-chart-dashboard-filters.spec.ts          |    77 +-
 .../playwright/tests/dashboard/theme.spec.ts       |    30 +-
 .../playwright/tests/dataset/dataset-list.spec.ts  |    25 +-
 .../tests/embedded/pivot-collapse-state.spec.ts    |    39 +
 .../tests/mobile/mobile-dashboard.spec.ts          |   284 +
 .../tests/mobile/mobile-navigation.spec.ts         |   192 +
 superset-frontend/playwright/utils/constants.ts    |     2 +-
 .../src/PairedTTest.tsx                            |   143 -
 .../plugins/legacy-plugin-chart-rose/CHANGELOG.md  |    61 -
 .../plugins/legacy-plugin-chart-rose/README.md     |    52 -
 .../plugins/legacy-plugin-chart-rose/package.json  |    40 -
 .../legacy-plugin-chart-rose/src/ReactRose.tsx     |    87 -
 .../plugins/legacy-plugin-chart-rose/src/Rose.ts   |   697 -
 .../src/images/thumbnail-dark.png                  |   Bin 83147 -> 0 bytes
 .../src/images/thumbnail.png                       |   Bin 27928 -> 0 bytes
 .../src/stories/Rose.stories.tsx                   |    95 -
 .../legacy-plugin-chart-rose/src/stories/data.ts   |   950 -
 .../legacy-plugin-chart-world-map/tsconfig.json    |    25 -
 .../types/external.d.ts                            |    28 -
 .../plugins/legacy-preset-chart-nvd3/CHANGELOG.md  |   113 -
 .../plugins/legacy-preset-chart-nvd3/README.md     |    64 -
 .../plugins/legacy-preset-chart-nvd3/package.json  |    49 -
 .../src/BoxPlot/stories/NVD3BoxPlot.stories.tsx    |    81 -
 .../src/BoxPlot/stories/data.ts                    |    78 -
 .../src/Bubble/controlPanel.ts                     |   140 -
 .../src/Bubble/images/example-dark.jpg             |   Bin 56660 -> 0 bytes
 .../src/Bubble/images/example.jpg                  |   Bin 61529 -> 0 bytes
 .../src/Bubble/images/thumbnail-dark.png           |   Bin 60642 -> 0 bytes
 .../src/Bubble/images/thumbnail.png                |   Bin 20423 -> 0 bytes
 .../src/Bubble/images/thumbnailLarge.png           |   Bin 45424 -> 0 bytes
 .../src/Bubble/stories/NVD3Bubble.stories.tsx      |   103 -
 .../src/Bubble/stories/data.ts                     |   357 -
 .../legacy-preset-chart-nvd3/src/Bullet/index.ts   |    51 -
 .../src/Bullet/stories/NVD3Bullet.stories.tsx      |    87 -
 .../src/Bullet/stories/data.ts                     |    29 -
 .../src/Compare/controlPanel.ts                    |    76 -
 .../src/Compare/images/example-dark.jpg            |   Bin 63894 -> 0 bytes
 .../src/Compare/images/example.jpg                 |   Bin 66360 -> 0 bytes
 .../src/Compare/images/thumbnail-dark.png          |   Bin 89728 -> 0 bytes
 .../src/Compare/images/thumbnail.png               |   Bin 32162 -> 0 bytes
 .../src/Compare/images/thumbnailLarge.png          |   Bin 90272 -> 0 bytes
 .../legacy-preset-chart-nvd3/src/Compare/index.ts  |    62 -
 .../src/Compare/stories/NVD3Compare.stories.tsx    |   208 -
 .../src/Compare/stories/data.ts                    |   927 -
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |   549 -
 .../legacy-preset-chart-nvd3/src/NVD3Vis.ts        |  1059 --
 .../legacy-preset-chart-nvd3/src/PropTypes.ts      |    82 -
 .../legacy-preset-chart-nvd3/src/ReactNVD3.tsx     |   189 -
 .../src/TimePivot/controlPanel.ts                  |   134 -
 .../src/TimePivot/index.ts                         |    51 -
 .../plugins/legacy-preset-chart-nvd3/src/index.ts  |    24 -
 .../plugins/legacy-preset-chart-nvd3/src/preset.ts |    37 -
 .../legacy-preset-chart-nvd3/src/transformProps.ts |   206 -
 .../plugins/legacy-preset-chart-nvd3/src/utils.ts  |   354 -
 .../legacy-preset-chart-nvd3/src/utils/isTruthy.ts |    28 -
 .../src/vendor/superset/AnnotationTypes.ts         |    86 -
 .../test/TimePivot/controlPanel.test.ts            |    57 -
 .../legacy-preset-chart-nvd3/test/tsconfig.json    |     9 -
 .../legacy-preset-chart-nvd3/test/utils.test.ts    |   358 -
 .../test/utils/isTruthy.test.ts                    |    57 -
 .../test/utils/tokenize.test.ts                    |    76 -
 .../plugins/legacy-preset-chart-nvd3/tsconfig.json |    21 -
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |    24 +-
 .../src/controlPanel.tsx                           |    35 +-
 .../test/buildQuery.test.ts                        |    68 +
 .../test/controlPanel.test.tsx                     |     8 +-
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |     8 +-
 .../src/Calendar.ts                                |    15 +-
 .../src/ReactCalendar.tsx                          |     9 +-
 .../plugin-chart-calendar/src/buildQuery.ts        |    53 +
 .../src/controlPanel.ts                            |     0
 .../src/images/example-dark.jpg                    |   Bin
 .../src/images/example.jpg                         |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin
 .../src/index.ts                                   |     2 +-
 .../stories/LegacyPluginChartCalendar.stories.tsx  |     4 +-
 .../src/stories/data.ts                            |     0
 .../src/tooltip.ts}                                |     5 +-
 .../plugin-chart-calendar/src/transformData.ts     |   121 +
 .../src/transformProps.ts                          |    31 +-
 .../src/utils.ts                                   |     0
 .../src/vendor/cal-heatmap.ts                      |    13 +-
 .../test/ReactCalendar.test.tsx                    |   585 +
 .../plugin-chart-calendar/test/buildQuery.test.ts  |    53 +
 .../test/controlPanel.test.ts}                     |    13 +-
 .../test/index.test.ts}                            |    10 +-
 .../plugin-chart-calendar/test/tooltip.test.ts     |   136 +
 .../test/transformData.test.ts                     |    92 +
 .../test/transformProps.test.ts                    |    88 +
 .../test/utils.test.ts                             |     0
 .../tsconfig.json                                  |     0
 .../types/external.d.ts                            |     0
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |     8 +-
 .../src/Chord.ts                                   |     0
 .../src/ReactChord.tsx                             |     0
 .../plugins/plugin-chart-chord/src/buildQuery.ts   |    47 +
 .../src/controlPanel.ts                            |     0
 .../src/images/chord-dark.jpg                      |   Bin
 .../src/images/chord.jpg                           |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin
 .../src/index.ts                                   |     4 +-
 .../src/stories/LegacyPluginChartChord.stories.tsx |     4 +-
 .../src/stories/data.ts                            |     0
 .../plugin-chart-chord/src/transformProps.ts       |    89 +
 .../plugin-chart-chord/test/buildQuery.test.ts     |    56 +
 .../test/index.test.ts}                            |    10 +-
 .../plugin-chart-chord/test/transformProps.test.ts |    94 +
 .../test/tsconfig.json                             |     0
 .../tsconfig.json                                  |     0
 .../types/external.d.ts                            |     0
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |     8 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |   Bin
 .../src/CountryMap.ts                              |     0
 .../src/ReactCountryMap.tsx                        |     0
 .../src/buildQuery.ts}                             |    17 +-
 .../src/controlPanel.ts                            |     0
 .../src/countries.ts                               |     0
 .../src/countries/afghanistan.geojson              |   Bin
 .../src/countries/aland.geojson                    |   Bin
 .../src/countries/albania.geojson                  |   Bin
 .../src/countries/algeria.geojson                  |   Bin
 .../src/countries/american_samoa.geojson           |   Bin
 .../src/countries/andorra.geojson                  |   Bin
 .../src/countries/angola.geojson                   |   Bin
 .../src/countries/anguilla.geojson                 |   Bin
 .../src/countries/antarctica.geojson               |   Bin
 .../src/countries/antigua_and_barbuda.geojson      |   Bin
 .../src/countries/argentina.geojson                |   Bin
 .../src/countries/armenia.geojson                  |   Bin
 .../src/countries/australia.geojson                |   Bin
 .../src/countries/austria.geojson                  |   Bin
 .../src/countries/azerbaijan.geojson               |   Bin
 .../src/countries/bahrain.geojson                  |   Bin
 .../src/countries/bangladesh.geojson               |   Bin
 .../src/countries/barbados.geojson                 |   Bin
 .../src/countries/belarus.geojson                  |   Bin
 .../src/countries/belgium.geojson                  |   Bin
 .../src/countries/belize.geojson                   |   Bin
 .../src/countries/benin.geojson                    |   Bin
 .../src/countries/bermuda.geojson                  |   Bin
 .../src/countries/bhutan.geojson                   |   Bin
 .../src/countries/bolivia.geojson                  |   Bin
 .../src/countries/bosnia_and_herzegovina.geojson   |   Bin
 .../src/countries/botswana.geojson                 |   Bin
 .../src/countries/brazil.geojson                   |   Bin
 .../src/countries/brunei.geojson                   |   Bin
 .../src/countries/bulgaria.geojson                 |   Bin
 .../src/countries/burkina_faso.geojson             |   Bin
 .../src/countries/burundi.geojson                  |   Bin
 .../src/countries/cambodia.geojson                 |   Bin
 .../src/countries/cameroon.geojson                 |   Bin
 .../src/countries/canada.geojson                   |   Bin
 .../src/countries/cape_verde.geojson               |   Bin
 .../src/countries/central_african_republic.geojson |   Bin
 .../src/countries/chad.geojson                     |   Bin
 .../src/countries/chile.geojson                    |   Bin
 .../src/countries/china.geojson                    |   Bin
 .../src/countries/colombia.geojson                 |   Bin
 .../src/countries/comoros.geojson                  |   Bin
 .../src/countries/cook_islands.geojson             |   Bin
 .../src/countries/costa_rica.geojson               |   Bin
 .../src/countries/croatia.geojson                  |   Bin
 .../src/countries/cuba.geojson                     |   Bin
 .../src/countries/cyprus.geojson                   |   Bin
 .../src/countries/czech_republic.geojson           |   Bin
 .../democratic_republic_of_the_congo.geojson       |   Bin
 .../src/countries/denmark.geojson                  |   Bin
 .../src/countries/djibouti.geojson                 |   Bin
 .../src/countries/dominica.geojson                 |   Bin
 .../src/countries/dominican_republic.geojson       |   Bin
 .../src/countries/ecuador.geojson                  |   Bin
 .../src/countries/egypt.geojson                    |   Bin
 .../src/countries/el_salvador.geojson              |   Bin
 .../src/countries/equatorial_guinea.geojson        |   Bin
 .../src/countries/eritrea.geojson                  |   Bin
 .../src/countries/estonia.geojson                  |   Bin
 .../src/countries/ethiopia.geojson                 |   Bin
 .../src/countries/fiji.geojson                     |   Bin
 .../src/countries/finland.geojson                  |   Bin
 .../src/countries/france.geojson                   |   Bin
 .../src/countries/france_overseas.geojson          |   Bin
 .../src/countries/france_regions.geojson           |   Bin
 .../src/countries/french_polynesia.geojson         |   Bin
 .../src/countries/gabon.geojson                    |   Bin
 .../src/countries/gambia.geojson                   |   Bin
 .../src/countries/germany.geojson                  |   Bin
 .../src/countries/ghana.geojson                    |   Bin
 .../src/countries/greece.geojson                   |   Bin
 .../src/countries/greenland.geojson                |   Bin
 .../src/countries/grenada.geojson                  |   Bin
 .../src/countries/guatemala.geojson                |   Bin
 .../src/countries/guinea.geojson                   |   Bin
 .../src/countries/guyana.geojson                   |   Bin
 .../src/countries/haiti.geojson                    |   Bin
 .../src/countries/honduras.geojson                 |   Bin
 .../src/countries/hungary.geojson                  |   Bin
 .../src/countries/iceland.geojson                  |   Bin
 .../src/countries/india.geojson                    |   Bin
 .../src/countries/indonesia.geojson                |   Bin
 .../src/countries/iran.geojson                     |   Bin
 .../src/countries/israel.geojson                   |   Bin
 .../src/countries/italy.geojson                    |   Bin
 .../src/countries/italy_regions.geojson            |   Bin
 .../src/countries/ivory_coast.geojson              |   Bin
 .../src/countries/japan.geojson                    |   Bin
 .../src/countries/jordan.geojson                   |   Bin
 .../src/countries/kazakhstan.geojson               |   Bin
 .../src/countries/kenya.geojson                    |   Bin
 .../src/countries/korea.geojson                    |   Bin
 .../src/countries/kuwait.geojson                   |   Bin
 .../src/countries/kyrgyzstan.geojson               |   Bin
 .../src/countries/laos.geojson                     |   Bin
 .../src/countries/latvia.geojson                   |   Bin
 .../src/countries/lebanon.geojson                  |   Bin
 .../src/countries/lesotho.geojson                  |   Bin
 .../src/countries/liberia.geojson                  |   Bin
 .../src/countries/libya.geojson                    |   Bin
 .../src/countries/liechtenstein.geojson            |   Bin
 .../src/countries/lithuania.geojson                |   Bin
 .../src/countries/luxembourg.geojson               |   Bin
 .../src/countries/macedonia.geojson                |   Bin
 .../src/countries/madagascar.geojson               |   Bin
 .../src/countries/malawi.geojson                   |   Bin
 .../src/countries/malaysia.geojson                 |   Bin
 .../src/countries/maldives.geojson                 |   Bin
 .../src/countries/mali.geojson                     |   Bin
 .../src/countries/malta.geojson                    |   Bin
 .../src/countries/marshall_islands.geojson         |   Bin
 .../src/countries/mauritania.geojson               |   Bin
 .../src/countries/mauritius.geojson                |   Bin
 .../src/countries/mexico.geojson                   |   Bin
 .../src/countries/moldova.geojson                  |   Bin
 .../src/countries/mongolia.geojson                 |   Bin
 .../src/countries/montenegro.geojson               |   Bin
 .../src/countries/montserrat.geojson               |   Bin
 .../src/countries/morocco.geojson                  |   Bin
 .../src/countries/mozambique.geojson               |   Bin
 .../src/countries/myanmar.geojson                  |   Bin
 .../src/countries/namibia.geojson                  |   Bin
 .../src/countries/nauru.geojson                    |   Bin
 .../src/countries/nepal.geojson                    |   Bin
 .../src/countries/netherlands.geojson              |   Bin
 .../src/countries/new_caledonia.geojson            |   Bin
 .../src/countries/new_zealand.geojson              |   Bin
 .../src/countries/nicaragua.geojson                |   Bin
 .../src/countries/niger.geojson                    |   Bin
 .../src/countries/nigeria.geojson                  |   Bin
 .../src/countries/northern_mariana_islands.geojson |   Bin
 .../src/countries/norway.geojson                   |   Bin
 .../src/countries/oman.geojson                     |   Bin
 .../src/countries/pakistan.geojson                 |   Bin
 .../src/countries/palau.geojson                    |   Bin
 .../src/countries/panama.geojson                   |   Bin
 .../src/countries/papua_new_guinea.geojson         |   Bin
 .../src/countries/paraguay.geojson                 |   Bin
 .../src/countries/peru.geojson                     |   Bin
 .../src/countries/philippines.geojson              |   Bin
 .../src/countries/philippines_regions.geojson      |   Bin
 .../src/countries/poland.geojson                   |   Bin
 .../src/countries/portugal.geojson                 |   Bin
 .../src/countries/qatar.geojson                    |   Bin
 .../src/countries/republic_of_serbia.geojson       |   Bin
 .../src/countries/romania.geojson                  |   Bin
 .../src/countries/russia.geojson                   |   Bin
 .../src/countries/rwanda.geojson                   |   Bin
 .../src/countries/saint_lucia.geojson              |   Bin
 .../countries/saint_pierre_and_miquelon.geojson    |   Bin
 .../saint_vincent_and_the_grenadines.geojson       |   Bin
 .../src/countries/samoa.geojson                    |   Bin
 .../src/countries/san_marino.geojson               |   Bin
 .../src/countries/sao_tome_and_principe.geojson    |   Bin
 .../src/countries/saudi_arabia.geojson             |   Bin
 .../src/countries/senegal.geojson                  |   Bin
 .../src/countries/seychelles.geojson               |   Bin
 .../src/countries/sierra_leone.geojson             |   Bin
 .../src/countries/singapore.geojson                |   Bin
 .../src/countries/slovakia.geojson                 |   Bin
 .../src/countries/slovenia.geojson                 |   Bin
 .../src/countries/solomon_islands.geojson          |   Bin
 .../src/countries/somalia.geojson                  |   Bin
 .../src/countries/south_africa.geojson             |   Bin
 .../src/countries/spain.geojson                    |   Bin
 .../src/countries/sri_lanka.geojson                |   Bin
 .../src/countries/sudan.geojson                    |   Bin
 .../src/countries/suriname.geojson                 |   Bin
 .../src/countries/sweden.geojson                   |   Bin
 .../src/countries/switzerland.geojson              |   Bin
 .../src/countries/syria.geojson                    |   Bin
 .../src/countries/taiwan.geojson                   |   Bin
 .../src/countries/tajikistan.geojson               |   Bin
 .../src/countries/tanzania.geojson                 |   Bin
 .../src/countries/thailand.geojson                 |   Bin
 .../src/countries/the_bahamas.geojson              |   Bin
 .../src/countries/timorleste.geojson               |   Bin
 .../src/countries/togo.geojson                     |   Bin
 .../src/countries/tonga.geojson                    |   Bin
 .../src/countries/trinidad_and_tobago.geojson      |   Bin
 .../src/countries/tunisia.geojson                  |   Bin
 .../src/countries/turkey.geojson                   |   Bin
 .../src/countries/turkey_regions.geojson           |   Bin
 .../src/countries/turkmenistan.geojson             |   Bin
 .../src/countries/turks_and_caicos_islands.geojson |   Bin
 .../src/countries/uganda.geojson                   |   Bin
 .../src/countries/uk.geojson                       |   Bin
 .../src/countries/ukraine.geojson                  |   Bin
 .../src/countries/united_arab_emirates.geojson     |   Bin
 .../united_states_minor_outlying_islands.geojson   |   Bin
 .../countries/united_states_virgin_islands.geojson |   Bin
 .../src/countries/uruguay.geojson                  |   Bin
 .../src/countries/usa.geojson                      |   Bin
 .../src/countries/uzbekistan.geojson               |   Bin
 .../src/countries/vanuatu.geojson                  |   Bin
 .../src/countries/venezuela.geojson                |   Bin
 .../src/countries/vietnam.geojson                  |   Bin
 .../src/countries/wallis_and_futuna.geojson        |   Bin
 .../src/countries/yemen.geojson                    |   Bin
 .../src/countries/zambia.geojson                   |   Bin
 .../src/countries/zimbabwe.geojson                 |   Bin
 .../src/geojson.d.ts                               |     0
 .../src/images/exampleGermany-dark.jpg             |   Bin
 .../src/images/exampleGermany.jpg                  |   Bin
 .../src/images/exampleUsa-dark.jpg                 |   Bin
 .../src/images/exampleUsa.jpg                      |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin
 .../src/index.ts                                   |     2 +-
 .../src/stories/CountryMap.stories.tsx             |     4 +-
 .../src/transformProps.ts                          |    24 +-
 .../test/CountryMap.test.tsx                       |     0
 .../test/buildQuery.test.ts                        |    52 +
 .../test/index.test.ts}                            |    10 +-
 .../test/transformProps.test.ts                    |    53 +
 .../test/tsconfig.json                             |     0
 .../tsconfig.json                                  |     0
 .../types/external.d.ts                            |     0
 .../src/BoxPlot/controlPanel.ts                    |     5 +-
 .../src/Bullet/EchartsBullet.tsx}                  |    39 +-
 .../src/Bullet/buildQuery.ts}                      |    27 +-
 .../src/Bullet/controlPanel.tsx}                   |    67 +-
 .../src/Bullet/images/example-dark.jpg             |   Bin
 .../src/Bullet/images/example.jpg                  |   Bin
 .../src/Bullet/images/thumbnail-dark.png           |   Bin
 .../src/Bullet/images/thumbnail.png                |   Bin
 .../src/Bullet/images/thumbnailLarge.png           |   Bin
 .../src/Bullet}/index.ts                           |    62 +-
 .../src/Bullet/transformProps.ts                   |   332 +
 .../plugin-chart-echarts/src/Bullet/types.ts       |    53 +
 .../src/Bullet/utils.ts}                           |    20 +-
 .../src/MixedTimeseries/transformProps.ts          |    22 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |    11 +-
 .../plugin-chart-echarts/src/Rose/EchartsRose.tsx  |   138 +
 .../plugin-chart-echarts/src/Rose/buildQuery.ts    |    92 +
 .../src/Rose}/controlPanel.tsx                     |     0
 .../src/Rose}/images/example1-dark.jpg             |   Bin
 .../src/Rose}/images/example1.jpg                  |   Bin
 .../src/Rose}/images/example2-dark.jpg             |   Bin
 .../src/Rose}/images/example2.jpg                  |   Bin
 .../src/Rose/images/thumbnail-dark.png             |   Bin 0 -> 49918 bytes
 .../src/Rose/images/thumbnail.png                  |   Bin 0 -> 48636 bytes
 .../src/Rose}/images/thumbnailLarge.png            |   Bin
 .../src => plugin-chart-echarts/src/Rose}/index.ts |    65 +-
 .../plugin-chart-echarts/src/Rose/transformData.ts |   142 +
 .../src/Rose/transformProps.ts                     |   228 +
 .../plugins/plugin-chart-echarts/src/Rose/types.ts |    73 +
 .../src/TimePivot/EchartsTimePivot.tsx}            |    45 +-
 .../src/TimePivot/buildQuery.ts}                   |    27 +-
 .../src/TimePivot/controlPanel.ts                  |   210 +
 .../src/TimePivot/images/example-dark.jpg          |   Bin
 .../src/TimePivot/images/example.jpg               |   Bin
 .../src/TimePivot/images/thumbnail-dark.png        |   Bin
 .../src/TimePivot/images/thumbnail.png             |   Bin
 .../src/TimePivot/images/thumbnailLarge.png        |   Bin
 .../src/TimePivot}/index.ts                        |    47 +-
 .../src/TimePivot/transformData.ts                 |   187 +
 .../src/TimePivot/transformProps.ts                |   215 +
 .../plugin-chart-echarts/src/TimePivot/types.ts    |    48 +
 .../src/Timeseries/EchartsTimeseries.test.tsx      |    99 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |   221 +-
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |    16 +
 .../src/Timeseries/percentChange.ts                |   113 +
 .../src/Timeseries/transformProps.ts               |   171 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |     6 +
 .../plugins/plugin-chart-echarts/src/index.ts      |     3 +
 .../src/utils/legendLayout.test.ts                 |    77 +
 .../plugin-chart-echarts/src/utils/legendLayout.ts |    40 +
 .../plugin-chart-echarts/src/utils/series.ts       |    55 +-
 .../plugin-chart-echarts/src/utils/treeBuilder.ts  |   125 +-
 .../src/utils/xAxisDrillByFilter.ts                |   164 +
 .../test/BoxPlot/controlPanel.test.ts              |    57 +
 .../test/Bullet/buildQuery.test.ts}                |    40 +-
 .../test/Bullet/transformProps.test.ts             |   258 +
 .../test/MixedTimeseries/transformProps.test.ts    |    52 +
 .../test/Pie/transformProps.test.ts                |    20 +
 .../test/Rose/EchartsRose.test.tsx                 |   186 +
 .../test/Rose/buildQuery.test.ts                   |    95 +
 .../test/Rose/controlPanel.test.ts}                |    11 +-
 .../test/Rose/transformData.test.ts                |    98 +
 .../test/Rose/transformProps.test.ts               |   195 +
 .../test/TimePivot/transformData.test.ts           |   108 +
 .../test/TimePivot/transformProps.test.ts          |   165 +
 .../test/Timeseries/Bar/transformProps.test.ts     |    90 +
 .../test/Timeseries/EchartsTimeseries.test.tsx     |   247 +
 .../test/Timeseries/percentChange.test.ts          |    98 +
 .../test/Timeseries/transformProps.test.ts         |   451 +
 .../plugin-chart-echarts/test/utils/series.test.ts |   147 +-
 .../test/utils/treeBuilder.test.ts                 |    72 +
 .../test/utils/xAxisDrillByFilter.test.ts          |   238 +
 .../plugins/plugin-chart-handlebars/package.json   |     2 +-
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |     8 +-
 .../src/HorizonChart.tsx                           |     0
 .../src/HorizonRow.tsx                             |     0
 .../src/buildQuery.ts}                             |    32 +-
 .../src/controlPanel.ts                            |     0
 .../src/images/Horizon_Chart-dark.jpg              |   Bin
 .../src/images/Horizon_Chart.jpg                   |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin
 .../src/index.ts                                   |     4 +-
 .../src/stories/Horizon.stories.tsx                |     4 +-
 .../src/stories/data.ts                            |     0
 .../plugin-chart-horizon/src/transformData.ts      |   Bin 0 -> 4607 bytes
 .../src/transformProps.ts                          |    28 +-
 .../test/HorizonChart.test.tsx                     |     0
 .../test/HorizonRow.test.tsx                       |     0
 .../plugin-chart-horizon/test/buildQuery.test.ts   |    47 +
 .../test/controlPanel.test.ts}                     |    13 +-
 .../test/transformData.test.ts                     |   100 +
 .../tsconfig.json                                  |     0
 .../types/external.d.ts                            |     0
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |    13 +-
 .../plugin-chart-paired-t-test/src/PairedTTest.tsx |    86 +
 .../src/TTestTable.tsx                             |   321 +-
 .../plugin-chart-paired-t-test/src/buildQuery.ts   |    50 +
 .../src/controlPanel.ts                            |     6 +-
 .../src/images/example-dark.jpg                    |   Bin
 .../src/images/example.jpg                         |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/index.ts                                   |     4 +-
 .../plugin-chart-paired-t-test/src/statistics.ts   |   109 +
 .../src/stories/TTest.stories.tsx                  |     4 +-
 .../src/stories/data.ts                            |     0
 .../src/transformData.ts                           |   102 +
 .../src/transformProps.ts                          |    30 +-
 .../test/TTestTable.test.tsx                       |   197 +-
 .../test/buildQuery.test.ts                        |    68 +
 .../test/controlPanel.test.ts}                     |    22 +-
 .../test/pipeline.test.tsx                         |    98 +
 .../test/statistics.test.ts}                       |    24 +-
 .../test/transformData.test.ts                     |   112 +
 .../test/tsconfig.json                             |     0
 .../tsconfig.json                                  |     0
 .../types/external.d.ts                            |     0
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |     8 +-
 .../src/ParallelCoordinates.ts                     |     0
 .../src/ReactParallelCoordinates.tsx               |     0
 .../src/buildQuery.ts                              |    53 +
 .../src/controlPanel.ts                            |     0
 .../src/images/example1-dark.jpg                   |   Bin
 .../src/images/example1.jpg                        |   Bin
 .../src/images/example2-dark.jpg                   |   Bin
 .../src/images/example2.jpg                        |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin
 .../src/index.ts                                   |     4 +-
 .../src/stories/ParallelCoordinates.stories.tsx    |     4 +-
 .../src/stories/data.ts                            |     0
 .../src/transformProps.ts                          |     0
 .../src/vendor/parcoords/d3.parcoords.ts           |     0
 .../src/vendor/parcoords/divgrid.ts                |     0
 .../test/buildQuery.test.ts                        |   101 +
 .../test/tsconfig.json                             |     0
 .../tsconfig.json                                  |     0
 .../types/d3-parcoords.d.ts                        |     0
 .../types/d3.d.ts                                  |     0
 .../types/external.d.ts                            |     0
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |     8 +-
 .../src/OptionDescription.tsx                      |     0
 .../src/Partition.ts                               |     0
 .../src/ReactPartition.tsx                         |     0
 .../plugin-chart-partition/src/buildQuery.ts       |    52 +
 .../src/controlPanel.tsx                           |     5 +
 .../src/images/example-dark.jpg                    |   Bin
 .../src/images/example.jpg                         |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin
 .../src/index.ts                                   |     4 +-
 .../src/stories/Partition.stories.tsx              |     4 +-
 .../src/stories/data.ts                            |     0
 .../plugin-chart-partition/src/transformData.ts    |   402 +
 .../src/transformProps.ts                          |    32 +-
 .../test/OptionDescription.test.tsx                |     0
 .../plugin-chart-partition/test/buildQuery.test.ts |    65 +
 .../test/controlPanel.test.ts}                     |    11 +-
 .../test/transformData.test.ts                     |   150 +
 .../test/transformProps.test.ts                    |    78 +
 .../test/tsconfig.json                             |     0
 .../tsconfig.json                                  |     0
 .../types/external.d.ts                            |     0
 .../plugins/plugin-chart-pivot-table/package.json  |     2 +-
 .../src/plugin/transformProps.ts                   |    17 +-
 .../plugin-chart-point-cluster-map/package.json    |     2 +-
 .../src/DataTable/hooks/useSticky.tsx              |    11 +-
 .../src/DataTable/utils/getScrollBarSize.ts        |    73 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |     5 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     5 +
 .../plugin-chart-table/src/controlPanel.tsx        |    34 +-
 .../plugin-chart-table/src/transformProps.ts       |    11 +-
 .../test/DataTable/utils/getScrollBarSize.test.ts  |    52 +
 .../plugin-chart-table/test/buildQuery.test.ts     |    65 +
 .../plugin-chart-table/test/controlPanel.test.tsx  |     8 +-
 .../plugins/plugin-chart-word-cloud/package.json   |     2 +-
 .../CHANGELOG.md                                   |     0
 .../README.md                                      |     8 +-
 .../package.json                                   |     8 +-
 .../src/ReactWorldMap.tsx                          |     0
 .../src/WorldMap.ts                                |     0
 .../plugin-chart-world-map/src/buildQuery.ts       |    49 +
 .../src/controlPanel.ts                            |     0
 .../plugin-chart-world-map/src/countries.ts        |  2030 ++
 .../src/images/WorldMap1-dark.jpg                  |   Bin
 .../src/images/WorldMap1.jpg                       |   Bin
 .../src/images/WorldMap2-dark.jpg                  |   Bin
 .../src/images/WorldMap2.jpg                       |   Bin
 .../src/images/thumbnail-dark.png                  |   Bin
 .../src/images/thumbnail.png                       |   Bin
 .../src/images/thumbnailLarge.png                  |   Bin
 .../src/index.ts                                   |     3 +-
 .../src/stories/WorldMap.stories.tsx               |     4 +-
 .../src/stories/data.ts                            |     0
 .../plugin-chart-world-map/src/transformData.ts    |    80 +
 .../src/transformProps.ts                          |    29 +-
 .../src/utils.ts                                   |     0
 .../test/WorldMap.test.ts                          |     0
 .../plugin-chart-world-map/test/buildQuery.test.ts |    63 +
 .../test/transformData.test.ts                     |    83 +
 .../test/transformProps.test.ts                    |    80 +
 .../test/tsconfig.json                             |     0
 .../tsconfig.json                                  |     0
 .../types/external.d.ts                            |     0
 .../src/Multi/Multi.color.test.tsx                 |   163 +-
 .../preset-chart-deckgl/src/Multi/Multi.test.tsx   |   788 +-
 .../preset-chart-deckgl/src/Multi/Multi.tsx        |   377 +-
 .../preset-chart-deckgl/src/Multi/MultiV1.test.tsx |   227 +
 .../src/Multi/buildQuery.test.ts}                  |    27 +-
 .../src/Multi/buildQuery.ts}                       |    21 +-
 .../src/Multi/index.test.ts}                       |    22 +-
 .../plugins/preset-chart-deckgl/src/Multi/index.ts |     7 +-
 .../src/components/Legend.test.tsx                 |    66 +-
 .../preset-chart-deckgl/src/components/Legend.tsx  |    21 +-
 .../preset-chart-deckgl/src/layers/Arc/Arc.test.ts |    76 +
 .../preset-chart-deckgl/src/layers/Arc/Arc.tsx     |    10 +-
 .../src/layers/Arc/buildQuery.test.ts}             |    32 +-
 .../src/layers/Geojson/Geojson.test.tsx            |    45 +
 .../src/layers/Geojson/transformProps.test.ts      |    85 +
 .../src/layers/Polygon/Polygon.test.tsx            |    72 +-
 .../src/layers/Polygon/Polygon.tsx                 |     7 +-
 .../preset-chart-deckgl/src/layers/common.test.ts  |    27 +
 .../preset-chart-deckgl/src/layers/common.tsx      |    15 +-
 .../src/utilities/Shared_DeckGL.test.ts            |    55 +-
 .../src/utilities/Shared_DeckGL.tsx                |     6 +-
 .../preset-chart-deckgl/src/utils/explore.ts       |    68 -
 .../preset-chart-deckgl/src/utils/mapbox.ts        |     5 +
 superset-frontend/scripts/check-custom-rules.js    |     4 +-
 .../scripts/check-storybook-coverage.js            |     4 +-
 .../scripts/oxlint-metrics-uploader.js             |    17 +-
 superset-frontend/scripts/po2json.sh               |     6 +-
 .../spec/fixtures/mockDashboardState.js            |     2 +-
 superset-frontend/spec/helpers/mobileTestUtils.ts  |   169 +
 .../components/EditorWrapper/useKeywords.test.ts   |   160 +
 .../SqlLab/components/EditorWrapper/useKeywords.ts |    63 +-
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |     8 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |    15 +-
 .../TabbedSqlEditors/TabbedSqlEditors.test.tsx     |     6 +-
 .../ChartContextMenu/ChartContextMenu.test.tsx     |    70 +-
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |    27 +-
 .../src/components/Chart/ChartRenderer.test.tsx    |    28 +-
 .../src/components/Chart/ChartRenderer.tsx         |    17 +-
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |    13 +-
 .../Chart/DrillBy/DrillBySubmenu.test.tsx          |   135 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |   180 +-
 .../Chart/DrillDetail/DrillDetailModal.test.tsx    |    35 +
 .../Chart/DrillDetail/DrillDetailModal.tsx         |    20 +-
 .../src/components/Chart/chartAction.ts            |    96 +-
 .../src/components/Chart/chartActions.test.ts      |   222 +-
 .../src/components/CrudThemeProvider.test.tsx      |    63 +
 .../src/components/CrudThemeProvider.tsx           |    92 +-
 .../FoldersEditor/FoldersEditor.test.tsx           |    26 +-
 .../FoldersEditor/VirtualizedTreeItem.tsx          |    54 +-
 .../FoldersEditor/VirtualizedTreeList.tsx          |    47 +-
 .../FoldersEditor/hooks/useAutoScroll.ts           |     8 +-
 .../src/components/DynamicPlugins/index.tsx        |     1 +
 .../ErrorMessage/BasicErrorAlert.test.tsx          |     9 +-
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |     9 +-
 .../DatasetNotFoundErrorMessage.test.tsx           |     9 +-
 .../DatasourceSecurityAccessErrorMessage.test.tsx  |   135 +
 .../DatasourceSecurityAccessErrorMessage.tsx       |   159 +
 .../ErrorMessageWithStackTrace.test.tsx            |     9 +-
 .../FrontendNetworkErrorMessage.test.tsx           |     9 +-
 .../ErrorMessage/ParameterErrorMessage.test.tsx    |     9 +-
 .../ErrorMessage/TimeoutErrorMessage.test.tsx      |     9 +-
 .../src/components/ErrorMessage/index.tsx          |     1 +
 .../src/components/GridTable/index.tsx             |     1 -
 .../src/components/ListView/CardCollection.tsx     |    13 +
 .../src/components/ListView/ListView.test.tsx      |   224 +
 .../src/components/ListView/ListView.tsx           |   103 +-
 superset-frontend/src/components/ListView/utils.ts |    25 +-
 .../MobileRouteGuard/MobileRouteGuard.test.tsx     |    64 +
 .../src/components/MobileRouteGuard/index.tsx      |    52 +
 superset-frontend/src/constants.ts                 |     1 +
 .../src/core/editors/AceEditorProvider.tsx         |    14 +-
 .../src/dashboard/actions/dashboardState.test.ts   |   141 +
 .../src/dashboard/actions/dashboardState.ts        |    10 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |     1 +
 .../DashboardBuilder/DashboardBuilder.test.tsx     |    49 +
 .../DashboardBuilder/DashboardBuilder.tsx          |    87 +-
 .../DashboardBuilder/DashboardWrapper.tsx          |    17 +
 .../dashboard/components/DashboardBuilder/state.ts |    15 +-
 .../dashboard/components/Header/Header.test.tsx    |     7 +
 .../src/dashboard/components/Header/index.tsx      |    48 +-
 .../src/dashboard/components/Header/types.ts       |     4 +
 .../Header/useHeaderActionsDropdownMenu.tsx        |    81 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |     2 +-
 .../src/dashboard/components/SliceAdder.test.tsx   |    56 +-
 .../src/dashboard/components/SliceAdder.tsx        |   131 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |    42 +
 .../src/dashboard/components/SliceHeader/index.tsx |     7 +-
 .../components/gridComponents/Chart/Chart.test.tsx |   263 +-
 .../components/gridComponents/Chart/Chart.tsx      |    39 +-
 .../ChartHolder/ChartHolder.test.tsx               |   147 +-
 .../gridComponents/ChartHolder/ChartHolder.tsx     |    64 +-
 .../components/gridComponents/Row/Row.test.tsx     |    59 +
 .../components/gridComponents/Row/Row.tsx          |    72 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |    55 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |    74 +-
 .../components/nativeFilters/FilterBar/index.tsx   |     1 +
 .../components/nativeFilters/FilterBar/types.ts    |     5 +
 .../components/resizable/ResizableContainer.tsx    |    16 +
 superset-frontend/src/dashboard/constants.ts       |    13 +
 .../src/dashboard/reducers/dashboardState.test.ts  |    58 +-
 .../src/dashboard/reducers/dashboardState.ts       |    16 +-
 superset-frontend/src/dashboard/types.ts           |     1 +
 .../src/dashboard/util/permissionUtils.test.ts     |    54 +
 .../src/dashboard/util/permissionUtils.ts          |     7 +-
 .../components/DatasourcePanel/DatasourceItems.tsx |    32 +-
 .../DatasourcePanel.real-autosizer.test.tsx        |   128 +
 .../DatasourcePanel/DatasourcePanelItem.test.tsx   |    19 +-
 .../DatasourcePanel/DatasourcePanelItem.tsx        |    35 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |    11 +-
 .../ExploreChartPanel/ExploreChartPanel.test.tsx   |     1 -
 .../explore/components/ExploreChartPanel/index.tsx |    56 -
 .../ExploreViewContainer.test.tsx                  |     2 -
 .../AnnotationLayer.subdirectory.test.tsx          |     1 +
 .../AnnotationLayer.test.tsx                       |   147 +-
 .../AnnotationLayerControl/AnnotationLayer.tsx     |    92 +-
 .../controls/AnnotationLayerControl/index.test.tsx |    52 +
 .../controls/AnnotationLayerControl/index.tsx      |    15 +-
 .../controls/ColorPickerControl.test.tsx           |   246 +-
 .../components/controls/ColorPickerControl.tsx     |   193 +-
 .../FormattingPopoverContent.test.tsx              |    94 +-
 .../FormattingPopoverContent.tsx                   |    27 +-
 .../ConditionalFormattingControl/constants.ts      |    16 +-
 .../controls/ConditionalFormattingControl/types.ts |     7 +-
 .../controls/SelectAsyncControl/index.tsx          |     3 +
 .../components/controls/SelectControl.test.tsx     |    36 +
 .../explore/components/controls/ViewQueryModal.tsx |     2 +-
 .../components/controls/VizTypeControl/index.tsx   |     2 +-
 .../useExploreAdditionalActionsMenu/index.tsx      |    23 +-
 .../useExploreAdditionalActionsMenu.test.tsx       |    69 +-
 .../src/explore/exploreUtils/exploreUtils.test.tsx |    57 +-
 .../src/explore/exploreUtils/exportChart.test.ts   |   133 -
 .../src/explore/exploreUtils/getExploreUrl.test.ts |    28 +-
 .../explore/exploreUtils/getURIDirectory.test.ts   |    14 +-
 .../src/explore/exploreUtils/index.ts              |    77 +-
 .../exploreUtils/shouldUseLegacyApi.test.ts        |    59 -
 .../src/features/alerts/AlertReportModal.test.tsx  |   141 +
 .../src/features/alerts/AlertReportModal.tsx       |    18 +
 superset-frontend/src/features/alerts/types.ts     |     1 +
 .../src/features/dashboards/DashboardCard.tsx      |    12 +-
 .../UploadDataModel/UploadDataModal.test.tsx       |    28 +-
 .../features/databases/UploadDataModel/index.tsx   |    10 +-
 .../src/features/home/ActivityTable.tsx            |    28 +-
 .../src/features/home/EmptyState.test.tsx          |    39 +
 superset-frontend/src/features/home/EmptyState.tsx |    10 +-
 superset-frontend/src/features/home/Menu.tsx       |    75 +-
 .../src/features/home/RightMenu.test.tsx           |   127 +-
 superset-frontend/src/features/home/RightMenu.tsx  |   197 +-
 .../src/features/home/SubMenu.test.tsx             |    32 +
 superset-frontend/src/features/home/SubMenu.tsx    |    66 +-
 superset-frontend/src/features/home/types.ts       |     1 +
 .../src/features/roles/RoleFormItems.test.tsx      |    43 +-
 .../src/features/roles/RoleFormItems.tsx           |    12 +
 .../src/features/themes/utils.test.ts              |    46 +
 superset-frontend/src/features/themes/utils.ts     |    48 +
 .../versionHistory/ChartVersionPreview.test.tsx    |     4 -
 .../versionHistory/ChartVersionPreview.tsx         |     8 +-
 superset-frontend/src/hooks/useIsMobile.ts         |    88 +
 superset-frontend/src/logger/LogUtils.ts           |     2 +
 .../src/pages/ChartCreation/ChartCreation.test.tsx |    59 +
 .../src/pages/ChartCreation/index.tsx              |     2 +
 .../src/pages/DashboardList/DashboardList.test.tsx |     7 +
 .../src/pages/DashboardList/index.tsx              |    33 +-
 .../src/pages/Home/Home.mobile.test.tsx            |   183 +
 superset-frontend/src/pages/Home/Home.test.tsx     |     7 +
 superset-frontend/src/pages/Home/index.tsx         |    43 +-
 .../MobileUnsupported/MobileUnsupported.test.tsx   |    95 +
 .../src/pages/MobileUnsupported/index.tsx          |   141 +
 .../src/pages/ThemeList/ThemeList.test.tsx         |    28 +-
 superset-frontend/src/pages/ThemeList/index.tsx    |    39 +-
 superset-frontend/src/setup/setupErrorMessages.ts  |     9 +
 .../src/setup/setupFormatters.test.ts              |    22 +
 superset-frontend/src/setup/setupFormatters.ts     |     6 +
 .../src/theme/utils/antdTokenNames.test.ts         |    23 +
 .../src/theme/utils/antdTokenNames.ts              |    31 +-
 superset-frontend/src/types/bootstrapTypes.ts      |     1 +
 superset-frontend/src/utils/assetUrl.test.ts       |    10 +
 superset-frontend/src/utils/assetUrl.ts            |    10 +-
 superset-frontend/src/utils/downloadAsImage.tsx    |    17 +
 superset-frontend/src/utils/downloadAsPdf.ts       |    12 +-
 superset-frontend/src/utils/downloadUtils.test.ts  |   252 +
 superset-frontend/src/utils/downloadUtils.ts       |   197 +
 superset-frontend/src/utils/softDeleteCopy.ts      |     2 +-
 superset-frontend/src/views/App.tsx                |    37 +-
 superset-frontend/src/views/CRUD/utils.tsx         |    12 +
 superset-frontend/src/views/routes.tsx             |    41 +-
 .../TimeTable/config/buildQuery.test.ts            |    57 +
 .../visualizations/TimeTable/config/buildQuery.ts  |    49 +
 .../config/transformProps/transformData.test.ts    |   110 +
 .../config/transformProps/transformData.ts         |   106 +
 .../config/transformProps/transformProps.ts        |    22 +-
 .../src/visualizations/TimeTable/index.ts          |     3 +-
 .../src/visualizations/presets/MainPreset.ts       |    34 +-
 .../tools/webpack.proxy-config.test.js             |   272 +
 superset-frontend/tsconfig.json                    |    22 +-
 superset-frontend/webpack.config.js                |     4 +-
 superset-frontend/webpack.proxy-config.js          |    96 +-
 superset-websocket/package-lock.json               |   333 +-
 superset-websocket/package.json                    |    12 +-
 superset/async_events/async_query_manager.py       |    36 +-
 superset/charts/api.py                             |   113 +-
 superset/charts/client_processing.py               |   484 +-
 superset/charts/data/api.py                        |     8 +-
 superset/cli/export_example.py                     |     2 +-
 superset/cli/viz_migrations.py                     |    24 +-
 superset/commands/chart/export.py                  |    24 +-
 superset/commands/chart/warm_up_cache.py           |    41 +-
 superset/commands/dashboard/export.py              |    17 +-
 superset/commands/database/oauth2.py               |    23 +-
 superset/commands/database/sync_permissions.py     |    19 +-
 superset/commands/database/uploaders/base.py       |    24 +-
 superset/commands/database/validate_sql.py         |    12 +
 superset/commands/dataset/duplicate.py             |     2 +-
 superset/commands/dataset/importers/v1/utils.py    |    17 +
 superset/commands/dataset/update.py                |   122 +-
 superset/commands/deletion_retention/audit.py      |   182 +-
 .../commands/deletion_retention/purge_cascade.py   |   278 +-
 .../commands/deletion_retention/purge_policy.py    |  1213 ++
 superset/commands/export/assets.py                 |     6 +-
 superset/commands/importers/v1/examples.py         |     2 +-
 superset/commands/report/alert.py                  |    31 +
 superset/commands/report/base.py                   |    58 +-
 superset/commands/report/create.py                 |     2 +
 superset/commands/report/exceptions.py             |    32 +
 superset/commands/report/execute.py                |   241 +-
 superset/commands/report/slack_upgrade.py          |   225 +
 superset/commands/report/update.py                 |    13 +
 superset/commands/security/create.py               |    43 +-
 superset/commands/security/update.py               |    57 +-
 superset/commands/sql_lab/estimate.py              |    22 +-
 superset/commands/streaming_export/base.py         |    24 +-
 superset/commands/tag/export.py                    |    86 +-
 superset/common/form_data_query_context.py         |   356 +
 superset/common/query_context_factory.py           |     8 +-
 superset/common/query_context_processor.py         |    25 -
 superset/common/query_object.py                    |    16 +
 superset/common/query_object_factory.py            |     4 +-
 superset/common/utils/dataframe_utils.py           |     7 +-
 superset/config.py                                 |   154 +-
 superset/connectors/sqla/models.py                 |   314 +-
 superset/daos/base.py                              |    19 +-
 superset/daos/dashboard.py                         |    14 +-
 superset/daos/dataset.py                           |     2 +-
 superset/daos/security.py                          |    20 +-
 superset/dashboards/api.py                         |    55 +-
 superset/dashboards/filters.py                     |   119 +-
 superset/dashboards/schemas.py                     |     1 +
 superset/databases/api.py                          |     7 +-
 superset/databases/error_provenance.py             |    51 +
 superset/databases/schemas.py                      |    42 +
 superset/databases/utils.py                        |    43 +-
 superset/datasets/api.py                           |     6 +-
 superset/datasets/schemas.py                       |    32 +
 superset/db_engine_specs/base.py                   |    45 +-
 superset/db_engine_specs/bigquery.py               |     7 +
 superset/db_engine_specs/clickhouse.py             |    24 +-
 superset/db_engine_specs/couchbase.py              |     6 +-
 superset/db_engine_specs/databend.py               |    24 +-
 superset/db_engine_specs/databricks.py             |    51 +-
 superset/db_engine_specs/duckdb.py                 |    49 +-
 superset/db_engine_specs/hive.py                   |     6 +
 superset/db_engine_specs/mssql.py                  |     5 +
 superset/db_engine_specs/mysql.py                  |     4 +
 superset/db_engine_specs/postgres.py               |     7 +-
 superset/db_engine_specs/snowflake.py              |    28 +-
 superset/db_engine_specs/sybase.py                 |     5 +
 .../examples/fcc_new_coder_survey/dashboard.yaml   |     1 +
 superset/examples/featured_charts/dashboard.yaml   |     1 +
 superset/examples/sales_dashboard/dashboard.yaml   |     1 +
 superset/examples/slack_dashboard/dashboard.yaml   |     1 +
 superset/examples/video_game_sales/dashboard.yaml  |     1 +
 superset/examples/world_bank.py                    |     6 +-
 .../charts/Life_Expectancy_VS_Rural.yaml           |    47 +-
 superset/exceptions.py                             |    13 +-
 superset/extensions/__init__.py                    |    14 +-
 superset/initialization/__init__.py                |    86 +-
 superset/jinja_context.py                          |   188 +-
 superset/key_value/shared_entries.py               |     1 +
 superset/mcp_service/PRODUCTION.md                 |     7 +
 superset/mcp_service/SECURITY.md                   |     7 +
 superset/mcp_service/app.py                        |    38 +-
 superset/mcp_service/auth.py                       |   117 +-
 superset/mcp_service/chart/chart_utils.py          |    71 +-
 superset/mcp_service/chart/compile.py              |    28 +-
 superset/mcp_service/chart/plugins/table.py        |    19 +-
 superset/mcp_service/chart/preview_utils.py        |    30 +-
 superset/mcp_service/chart/schemas.py              |    78 +
 superset/mcp_service/chart/tool/get_chart_data.py  |    86 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |    13 +-
 superset/mcp_service/chart/tool/list_charts.py     |    14 +-
 superset/mcp_service/chart/tool/update_chart.py    |   212 +-
 .../mcp_service/chart/tool/update_chart_preview.py |     3 +
 superset/mcp_service/chart/validation/pipeline.py  |     2 +-
 superset/mcp_service/dataset/schemas.py            |    14 +
 superset/mcp_service/dataset/tool/list_datasets.py |    13 +-
 superset/mcp_service/mcp_config.py                 |    50 +
 superset/mcp_service/mcp_core.py                   |    38 +-
 superset/mcp_service/screenshot/__init__.py        |    19 +-
 .../mcp_service/screenshot/pooled_screenshot.py    |   492 -
 .../mcp_service/screenshot/webdriver_config.py     |   143 -
 superset/mcp_service/screenshot/webdriver_pool.py  |   437 -
 superset/mcp_service/server.py                     |    10 +
 superset/mcp_service/session_scope.py              |    69 +
 superset/mcp_service/utils/sanitization.py         |    60 +-
 superset/middleware/legacy_prefix_redirect.py      |     8 +-
 superset/migrations/shared/migrate_viz/base.py     |    73 +-
 .../migrations/shared/migrate_viz/processors.py    |    12 +
 ...8-07-26_11-10_c82ee8a39623_add_implicit_tags.py |    18 +-
 ...-08_01-17_e96dbf2cfef0_datasource_cluster_fk.py |     4 +-
 ...57699a813e_add_tables_relation_to_row_level_.py |     6 +-
 ...828ac4e_add_rls_filter_type_and_grouping_key.py |     2 +-
 ...654_fix_data_access_permissions_for_virtual_.py |     2 +-
 ...b56500de1855_add_uuid_column_to_import_mixin.py |     5 +-
 ...2fdb_add_granularity_to_charts_where_missing.py |     2 +-
 ...8_09-13_c501b7c653a3_add_missing_uuid_column.py |     5 +-
 ...14-38_a9422eeaae74_new_dataset_models_take_2.py |     5 +-
 ...d4e5f6a7b8c9_migrate_bubble_chart_to_echarts.py |    55 +
 ...8360afb61ed_migrate_compare_chart_to_echarts.py |    55 +
 ...ad72e4af6_add_include_cta_to_report_schedule.py |    54 +
 ...c5dd981_merge_compare_chart_migration_with_.py} |    18 +-
 ...9fc576740_merge_report_retry_state_columns_.py} |    18 +-
 ...6f2_merge_report_retry_state_columns_merge_.py} |    18 +-
 ...5192b583_merge_restore_pivot_table_percent_.py} |    18 +-
 ...cc48bd55_merge_databend_sslmode_with_pivot_.py} |    18 +-
 ...0_b8d2f4a6c901_index_purge_audit_predecessor.py |    63 +
 superset/models/core.py                            |    39 +-
 superset/models/helpers.py                         |   382 +-
 superset/models/purge_audit_log.py                 |    22 +-
 superset/models/slice.py                           |    18 +-
 superset/models/sql_types/presto_sql_types.py      |    28 +-
 superset/reports/api.py                            |     8 +-
 superset/reports/models.py                         |     4 +
 superset/reports/notifications/base.py             |     7 +
 superset/reports/notifications/email.py            |    41 +-
 superset/reports/notifications/exceptions.py       |     4 +
 superset/reports/notifications/slack.py            |   132 +-
 .../notifications/slack_channel_resolver.py        |    94 +
 superset/reports/notifications/slack_mixin.py      |    39 +-
 superset/reports/notifications/slack_transport.py  |   310 +
 superset/reports/notifications/slackv2.py          |   225 +-
 superset/reports/notifications/webhook.py          |    18 +-
 superset/reports/schemas.py                        |    14 +
 superset/row_level_security/api.py                 |     4 +
 superset/security/api.py                           |     3 +
 superset/security/guest_token.py                   |     1 +
 superset/security/manager.py                       |   194 +-
 superset/sql/dialects/dremio.py                    |    28 +-
 superset/sql/parse.py                              |   445 +-
 superset/sqllab/api.py                             |    20 +
 superset/sqllab/schemas.py                         |    36 +-
 superset/sqllab/sqllab_execution_context.py        |    39 +
 superset/sqllab/utils.py                           |     1 +
 superset/tags/core.py                              |    56 +-
 superset/tasks/async_queries.py                    |    82 +-
 superset/tasks/cache.py                            |    45 +-
 superset/tasks/context.py                          |    14 +-
 superset/tasks/deletion_retention.py               |    12 +-
 superset/tasks/export_dashboard_excel.py           |   183 +-
 superset/tasks/manager.py                          |     7 +-
 superset/tasks/slack.py                            |    16 +-
 superset/templates/superset/spa.html               |     7 +
 superset/themes/utils.py                           |    63 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   124 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |  2357 +--
 superset/translations/it/LC_MESSAGES/messages.po   |  2662 +--
 superset/translations/ta/LC_MESSAGES/messages.po   | 18359 +++++++++++++++++++
 superset/translations/zh/LC_MESSAGES/messages.po   |  5906 +++---
 superset/utils/core.py                             |    28 +-
 superset/utils/decorators.py                       |    25 +-
 superset/utils/encrypt.py                          |    57 +-
 superset/utils/error_sanitization.py               |   177 +
 superset/utils/filters.py                          |     6 +-
 superset/utils/log.py                              |    60 +-
 superset/utils/machine_auth.py                     |    33 +-
 superset/utils/number_format.py                    |   607 +
 superset/utils/oauth2.py                           |    36 +-
 superset/utils/pandas_postprocessing/utils.py      |     2 +-
 superset/utils/rls.py                              |    66 +-
 superset/utils/screenshot_utils.py                 |    31 +-
 superset/utils/screenshots.py                      |   100 +-
 superset/utils/slack.py                            |   597 +-
 superset/utils/sqlalchemy_events.py                |   103 +
 superset/utils/webdriver.py                        |   721 +-
 superset/views/base.py                             |     9 +
 superset/views/base_api.py                         |    75 +-
 superset/views/core.py                             |   263 +-
 superset/views/database/validators.py              |    22 +-
 superset/views/datasource/views.py                 |    22 +-
 superset/views/error_handling.py                   |    16 +-
 superset/views/sql_lab/views.py                    |     6 +
 superset/views/utils.py                            |   129 +-
 superset/viz.py                                    |  2995 ---
 tests/integration_tests/base_tests.py              |    11 +
 tests/integration_tests/celery_tests.py            |    16 +
 tests/integration_tests/charts/api_tests.py        |   219 +-
 tests/integration_tests/commands_test.py           |     1 +
 tests/integration_tests/core_tests.py              |   103 +-
 tests/integration_tests/dashboards/api_tests.py    |    48 +-
 .../integration_tests/dashboards/commands_tests.py |     1 +
 .../dashboards/soft_delete_tests.py                |     7 +-
 tests/integration_tests/databases/api_tests.py     |    90 +-
 .../databases/commands/upload_test.py              |    17 +-
 .../integration_tests/databases/commands_tests.py  |    24 +
 tests/integration_tests/datasets/api_tests.py      |    40 +-
 tests/integration_tests/datasets/commands_tests.py |    13 +
 tests/integration_tests/datasource_tests.py        |     3 -
 .../db_engine_specs/hive_tests.py                  |     4 +-
 .../db_engine_specs/presto_tests.py                |     4 +-
 .../deletion_retention/audit_tests.py              |   364 +-
 .../deletion_retention/force_purge_tests.py        |    32 +
 .../deletion_retention/purge_performance_tests.py  |   259 +
 .../deletion_retention/purge_tests.py              |   185 +-
 tests/integration_tests/fixtures/importexport.py   |     3 +-
 tests/integration_tests/import_export_tests.py     |    50 +
 tests/integration_tests/model_tests.py             |    25 +-
 .../integration_tests/non_additive_totals_tests.py |    42 +
 tests/integration_tests/reports/alert_tests.py     |     5 +
 tests/integration_tests/reports/api_tests.py       |     9 +
 tests/integration_tests/reports/commands_tests.py  |   549 +-
 tests/integration_tests/security/api_tests.py      |   168 +
 .../security/guest_token_security_tests.py         |    28 +-
 .../security/row_level_security_tests.py           |    53 +
 tests/integration_tests/security_tests.py          |   209 +-
 tests/integration_tests/sql_lab/api_tests.py       |    30 +-
 tests/integration_tests/sql_lab/commands_tests.py  |    18 +-
 tests/integration_tests/sqla_models_tests.py       |    16 +-
 tests/integration_tests/superset_test_config.py    |    18 +
 .../integration_tests/tasks/async_queries_tests.py |   118 -
 tests/integration_tests/thumbnails_tests.py        |   113 +-
 tests/integration_tests/utils/encrypt_tests.py     |    12 +-
 .../integration_tests/utils/machine_auth_tests.py  |    56 +-
 tests/integration_tests/utils_tests.py             |    33 +-
 .../integration_tests/versioning/id_reuse_tests.py |     2 +-
 tests/integration_tests/viz_tests.py               |  2456 ---
 .../async_events/async_query_manager_tests.py      |    55 -
 .../charts/data/test_empty_query_context.py        |    43 +
 tests/unit_tests/charts/test_chart_data_api.py     |   107 +
 tests/unit_tests/charts/test_client_processing.py  |   827 +-
 .../chart/streaming_export_command_test.py         |    46 +
 .../commands/chart/warm_up_cache_test.py           |   352 +-
 tests/unit_tests/commands/databases/oauth2_test.py |    42 +
 .../databases/sync_permissions_identity_test.py    |   140 +
 .../commands/databases/sync_permissions_test.py    |    10 +-
 tests/unit_tests/commands/databases/update_test.py |     4 +-
 .../commands/databases/upload_command_test.py      |   136 +-
 .../commands/databases/validate_sql_test.py        |     5 +
 .../unit_tests/commands/dataset/test_duplicate.py  |    18 +-
 tests/unit_tests/commands/dataset/update_test.py   |   200 +
 .../commands/deletion_retention}/__init__.py       |     0
 .../deletion_retention/test_purge_policy.py        |   570 +
 tests/unit_tests/commands/export_test.py           |     4 +-
 .../commands/importers/v1/assets_test.py           |     5 +
 .../commands/importers/v1/examples_test.py         |    18 +-
 tests/unit_tests/commands/report/alert_test.py     |     5 +
 tests/unit_tests/commands/report/base_test.py      |    92 +
 tests/unit_tests/commands/report/execute_test.py   |  1333 +-
 tests/unit_tests/commands/report/update_test.py    |     6 +
 tests/unit_tests/commands/security/rls_test.py     |   170 +-
 .../sql_lab/streaming_export_command_test.py       |   120 +
 tests/unit_tests/commands/sql_lab/test_estimate.py |    72 +-
 .../common/test_form_data_query_context.py         |   570 +
 .../common/test_query_context_factory.py           |    22 +
 tests/unit_tests/connectors/sqla/models_test.py    |   578 +-
 .../daos/test_base_relationship_filters.py         |    49 +-
 .../commands/importers/v1/import_command_test.py   |     7 +
 tests/unit_tests/databases/api_test.py             |    94 +
 .../unit_tests/databases/error_provenance_test.py  |   250 +
 tests/unit_tests/databases/filters_test.py         |     2 +-
 tests/unit_tests/databases/oauth2_api_test.py      |   275 +
 tests/unit_tests/databases/test_schemas.py         |    54 +
 tests/unit_tests/datasets/api_tests.py             |    51 +
 tests/unit_tests/datasets/commands/export_test.py  |    84 +-
 .../datasets/commands/importers/v1/import_test.py  |   447 +
 tests/unit_tests/db_engine_specs/test_base.py      |    14 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |    12 +
 .../unit_tests/db_engine_specs/test_databricks.py  |    17 +
 tests/unit_tests/db_engine_specs/test_duckdb.py    |    28 +
 tests/unit_tests/db_engine_specs/test_hive.py      |    23 +
 tests/unit_tests/db_engine_specs/test_mssql.py     |    11 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |    11 +
 tests/unit_tests/db_engine_specs/test_postgres.py  |    21 +
 tests/unit_tests/db_engine_specs/test_snowflake.py |    40 +-
 .../test_sybase.py}                                |    23 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    40 +-
 tests/unit_tests/extensions/test_sqlalchemy.py     |    18 +-
 tests/unit_tests/fixtures/assets_configs.py        |     2 +
 .../initialization/check_encryption_engine_test.py |    88 +
 tests/unit_tests/jinja_context_test.py             |  1132 ++
 .../key_value/test_shared_entries_migration.py     |    40 +
 .../mcp_service/chart/test_chart_utils.py          |    90 +
 tests/unit_tests/mcp_service/chart/test_compile.py |    40 +
 .../mcp_service/chart/test_new_chart_types.py      |    60 +
 .../mcp_service/chart/test_preview_utils.py        |    12 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |   289 +-
 .../chart/tool/test_get_chart_type_schema.py       |     9 +-
 .../mcp_service/chart/tool/test_list_charts.py     |    65 +
 .../mcp_service/chart/tool/test_update_chart.py    |   474 +
 .../chart/tool/test_update_chart_preview.py        |    12 +-
 .../validation/test_column_name_normalization.py   |    68 +
 .../dashboard/tool/test_dashboard_generation.py    |    19 +
 .../mcp_service/dataset/tool/test_dataset_tools.py |    55 +-
 .../mcp_service/test_auth_user_resolution.py       |    59 +-
 .../mcp_service/test_guest_token_auth.py           |     7 -
 .../test_mcp_multi_issuer_identity_binding.py      |   201 +
 .../mcp_service/test_pooled_screenshot.py          |    22 +-
 tests/unit_tests/mcp_service/test_session_scope.py |   233 +
 .../utils/test_sanitization_unicode_ordering.py    |   192 +
 .../middleware/test_legacy_prefix_redirect.py      |     8 -
 .../test_add_implicit_tags_mapper_isolation.py}    |    30 +-
 .../test_purge_audit_predecessor_index.py          |    96 +
 .../migrations/viz/downgrade_scope_test.py         |    56 +
 .../viz/nvd3_compare_chart_to_echarts_test.py}     |    35 +-
 .../viz/upgrade_malformed_query_context_test.py    |   147 +
 tests/unit_tests/models/core_test.py               |   188 +-
 tests/unit_tests/models/helpers_test.py            |   145 +
 .../unit_tests/models/test_time_filter_timezone.py |   205 +
 .../models/test_virtual_dataset_format.py          |    92 +
 .../unit_tests/pandas_postprocessing/test_pivot.py |     4 +-
 .../pandas_postprocessing/test_resample.py         |     2 +-
 tests/unit_tests/queries/query_object_test.py      |    67 +
 .../reports/notifications/email_tests.py           |   200 +
 .../reports/notifications/slack_tests.py           |  1763 +-
 .../reports/notifications/webhook_tests.py         |    54 +
 tests/unit_tests/reports/schemas_test.py           |    49 +
 .../scheduled_docker_image_refresh_test.py         |    65 +
 tests/unit_tests/security/manager_test.py          |   113 +-
 .../security/test_embedded_guest_chart_access.py   |   185 +
 .../security/test_permission_instructions_link.py  |   181 +
 tests/unit_tests/sql/dialects/dremio_tests.py      |    27 +
 tests/unit_tests/sql/parse_tests.py                |   726 +-
 tests/unit_tests/sql_lab_execution_context.py      |    46 +
 tests/unit_tests/sql_lab_test.py                   |    98 +-
 tests/unit_tests/sqllab/api_test.py                |    46 +
 tests/unit_tests/sqllab/test_schemas.py            |    54 +
 tests/unit_tests/sqllab/test_utils.py              |    52 +
 tests/unit_tests/subjects/test_filters.py          |    27 +
 tests/unit_tests/tasks/test_async_queries.py       |   237 +-
 tests/unit_tests/tasks/test_cache.py               |    51 +-
 tests/unit_tests/tasks/test_deletion_retention.py  |    13 +-
 .../tasks/test_export_dashboard_excel.py           |   442 +-
 tests/unit_tests/tasks/test_slack.py               |    75 +
 tests/unit_tests/test_subdirectory_url_for.py      |    13 -
 tests/unit_tests/test_viz_cache_key.py             |   111 -
 tests/unit_tests/test_viz_get_df_payload.py        |   244 -
 tests/unit_tests/test_viz_query_obj.py             |    57 -
 tests/unit_tests/themes/test_utils.py              |    42 +
 tests/unit_tests/utils/encrypt_test.py             |    61 +
 tests/unit_tests/utils/filters_test.py             |    41 +-
 tests/unit_tests/utils/number_format_test.py       |   562 +
 tests/unit_tests/utils/oauth2_tests.py             |   104 +-
 tests/unit_tests/utils/rls_test.py                 |   225 +
 tests/unit_tests/utils/screenshot_test.py          |   102 +-
 tests/unit_tests/utils/slack_test.py               |   793 +-
 tests/unit_tests/utils/test_core.py                |    72 +
 tests/unit_tests/utils/test_decorators.py          |    60 +-
 .../unit_tests/utils/test_encrypt_cbc_iv_reuse.py  |    90 +
 tests/unit_tests/utils/test_error_sanitization.py  |   178 +
 .../utils/test_playwright_migration_working.py     |   199 -
 tests/unit_tests/utils/test_screenshot_utils.py    |     4 +-
 tests/unit_tests/utils/webdriver_test.py           |   567 +-
 tests/unit_tests/views/datasource/views_test.py    |   184 +
 tests/unit_tests/views/test_base_theme_helpers.py  |    41 +
 tests/unit_tests/views/test_error_handling.py      |    78 +-
 .../views/test_sql_lab_tab_state_views.py          |   129 +
 tests/unit_tests/views/test_utils.py               |    85 +-
 1273 files changed, 81147 insertions(+), 34368 deletions(-)
 create mode 100644 .github/workflows/enforce-single-migration-head.yml
 create mode 100644 .github/workflows/superset-python-unittest-report.yml
 create mode 100644 docs/admin_docs/configuration/dashboard-performance.mdx
 create mode 100644 docs/docs/using-superset/mobile-experience.mdx
 create mode 100644 docs/docs/using-superset/number-formatting.mdx
 create mode 100644 docs/static/img/screenshots/mobile/mobile_dashboard.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_dashboard_list.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_filter_drawer.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_home.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_nav_drawer.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_unsupported.jpg
 create mode 100644 helm/superset/tests/pdb_test.yaml
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/dashboard/editmode.test.ts
 create mode 100644 superset-frontend/packages/superset-core/src/theme/SupersetThemeProvider.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/buildSortMetricOrderby.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/getTotalsMetrics.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/getTotalsMetrics.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/test/utils/buildSortMetricOrderby.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/src/components/Table/VirtualTable.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-core/src/number-format/factories/createThroughputFormatter.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/number-format/factories/createThroughputFormatter.test.ts
 create mode 100644 superset-frontend/playwright/generators/docs/mobile-screenshots.spec.ts
 create mode 100644 superset-frontend/playwright/helpers/dnd.ts
 create mode 100644 superset-frontend/playwright/tests/dashboard/drill-to-detail.spec.ts
 create mode 100644 superset-frontend/playwright/tests/dashboard/edit-mode-components.spec.ts
 create mode 100644 superset-frontend/playwright/tests/mobile/mobile-dashboard.spec.ts
 create mode 100644 superset-frontend/playwright/tests/mobile/mobile-navigation.spec.ts
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/PairedTTest.tsx
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/CHANGELOG.md
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/README.md
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/package.json
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.tsx
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/Rose.ts
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/images/thumbnail-dark.png
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/images/thumbnail.png
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/stories/Rose.stories.tsx
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-rose/src/stories/data.ts
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/tsconfig.json
 delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-world-map/types/external.d.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/CHANGELOG.md
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/README.md
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/package.json
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/stories/NVD3BoxPlot.stories.tsx
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/stories/data.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/controlPanel.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/example-dark.jpg
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/example.jpg
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/thumbnail-dark.png
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/thumbnail.png
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/images/thumbnailLarge.png
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/stories/NVD3Bubble.stories.tsx
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/stories/data.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/index.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/stories/NVD3Bullet.stories.tsx
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/stories/data.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/controlPanel.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/images/example-dark.jpg
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/images/example.jpg
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/images/thumbnail-dark.png
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/images/thumbnail.png
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/images/thumbnailLarge.png
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/index.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/stories/NVD3Compare.stories.tsx
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/stories/data.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Controls.tsx
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/NVD3Vis.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/PropTypes.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/ReactNVD3.tsx
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/controlPanel.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/index.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/index.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/preset.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/transformProps.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils/isTruthy.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/AnnotationTypes.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/TimePivot/controlPanel.test.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/tsconfig.json
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils.test.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/isTruthy.test.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/tokenize.test.ts
 delete mode 100644 superset-frontend/plugins/legacy-preset-chart-nvd3/tsconfig.json
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/README.md (76%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/package.json (76%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/Calendar.ts (91%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/ReactCalendar.tsx (96%)
 create mode 100644 superset-frontend/plugins/plugin-chart-calendar/src/buildQuery.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/controlPanel.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/images/example-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/images/example.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/index.ts (97%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/stories/LegacyPluginChartCalendar.stories.tsx (96%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/stories/data.ts (100%)
 copy superset-frontend/plugins/{legacy-plugin-chart-world-map/src/utils.ts => plugin-chart-calendar/src/tooltip.ts} (91%)
 create mode 100644 superset-frontend/plugins/plugin-chart-calendar/src/transformData.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/transformProps.ts (71%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/utils.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/src/vendor/cal-heatmap.ts (99%)
 create mode 100644 superset-frontend/plugins/plugin-chart-calendar/test/ReactCalendar.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-calendar/test/buildQuery.test.ts
 copy superset-frontend/plugins/{legacy-plugin-chart-calendar/types/external.d.ts => plugin-chart-calendar/test/controlPanel.test.ts} (79%)
 copy superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.ts => plugin-chart-calendar/test/index.test.ts} (74%)
 create mode 100644 superset-frontend/plugins/plugin-chart-calendar/test/tooltip.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-calendar/test/transformData.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-calendar/test/transformProps.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/test/utils.test.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/tsconfig.json (100%)
 copy superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-calendar}/types/external.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/README.md (77%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/package.json (75%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/Chord.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/ReactChord.tsx (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-chord/src/buildQuery.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/controlPanel.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/images/chord-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/images/chord.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/index.ts (94%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/stories/LegacyPluginChartChord.stories.tsx (94%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/src/stories/data.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-chord/src/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-chord/test/buildQuery.test.ts
 copy superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.ts => plugin-chart-chord/test/index.test.ts} (74%)
 create mode 100644 superset-frontend/plugins/plugin-chart-chord/test/transformProps.test.ts
 copy superset-frontend/plugins/{plugin-chart-word-cloud => plugin-chart-chord}/test/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord => plugin-chart-chord}/types/external.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/README.md (78%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/package.json (74%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/scripts/Country Map GeoJSON Generator.ipynb (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/CountryMap.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/ReactCountryMap.tsx (100%)
 copy superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.ts => plugin-chart-country-map/src/buildQuery.ts} (62%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/controlPanel.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/afghanistan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/aland.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/albania.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/algeria.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/american_samoa.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/andorra.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/angola.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/anguilla.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/antarctica.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/antigua_and_barbuda.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/argentina.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/armenia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/australia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/austria.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/azerbaijan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/bahrain.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/bangladesh.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/barbados.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/belarus.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/belgium.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/belize.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/benin.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/bermuda.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/bhutan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/bolivia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/bosnia_and_herzegovina.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/botswana.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/brazil.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/brunei.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/bulgaria.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/burkina_faso.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/burundi.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/cambodia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/cameroon.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/canada.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/cape_verde.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/central_african_republic.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/chad.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/chile.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/china.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/colombia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/comoros.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/cook_islands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/costa_rica.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/croatia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/cuba.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/cyprus.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/czech_republic.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/democratic_republic_of_the_congo.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/denmark.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/djibouti.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/dominica.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/dominican_republic.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/ecuador.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/egypt.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/el_salvador.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/equatorial_guinea.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/eritrea.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/estonia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/ethiopia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/fiji.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/finland.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/france.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/france_overseas.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/france_regions.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/french_polynesia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/gabon.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/gambia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/germany.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/ghana.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/greece.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/greenland.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/grenada.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/guatemala.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/guinea.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/guyana.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/haiti.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/honduras.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/hungary.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/iceland.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/india.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/indonesia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/iran.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/israel.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/italy.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/italy_regions.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/ivory_coast.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/japan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/jordan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/kazakhstan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/kenya.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/korea.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/kuwait.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/kyrgyzstan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/laos.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/latvia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/lebanon.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/lesotho.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/liberia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/libya.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/liechtenstein.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/lithuania.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/luxembourg.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/macedonia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/madagascar.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/malawi.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/malaysia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/maldives.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/mali.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/malta.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/marshall_islands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/mauritania.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/mauritius.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/mexico.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/moldova.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/mongolia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/montenegro.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/montserrat.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/morocco.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/mozambique.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/myanmar.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/namibia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/nauru.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/nepal.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/netherlands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/new_caledonia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/new_zealand.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/nicaragua.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/niger.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/nigeria.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/northern_mariana_islands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/norway.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/oman.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/pakistan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/palau.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/panama.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/papua_new_guinea.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/paraguay.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/peru.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/philippines.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/philippines_regions.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/poland.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/portugal.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/qatar.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/republic_of_serbia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/romania.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/russia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/rwanda.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/saint_lucia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/saint_pierre_and_miquelon.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/saint_vincent_and_the_grenadines.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/samoa.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/san_marino.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/sao_tome_and_principe.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/saudi_arabia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/senegal.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/seychelles.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/sierra_leone.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/singapore.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/slovakia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/slovenia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/solomon_islands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/somalia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/south_africa.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/spain.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/sri_lanka.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/sudan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/suriname.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/sweden.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/switzerland.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/syria.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/taiwan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/tajikistan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/tanzania.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/thailand.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/the_bahamas.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/timorleste.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/togo.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/tonga.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/trinidad_and_tobago.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/tunisia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/turkey.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/turkey_regions.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/turkmenistan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/turks_and_caicos_islands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/uganda.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/uk.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/ukraine.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/united_arab_emirates.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/united_states_minor_outlying_islands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/united_states_virgin_islands.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/uruguay.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/usa.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/uzbekistan.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/vanuatu.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/venezuela.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/vietnam.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/wallis_and_futuna.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/yemen.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/zambia.geojson (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/countries/zimbabwe.geojson (100%)
 copy superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/geojson.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/images/exampleGermany-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/images/exampleGermany.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/images/exampleUsa-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/images/exampleUsa.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/index.ts (97%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/stories/CountryMap.stories.tsx (96%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/src/transformProps.ts (69%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/test/CountryMap.test.tsx (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-country-map/test/buildQuery.test.ts
 copy superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.ts => plugin-chart-country-map/test/index.test.ts} (74%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/test/transformProps.test.ts (66%)
 copy superset-frontend/plugins/{plugin-chart-word-cloud => plugin-chart-country-map}/test/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map => plugin-chart-country-map}/types/external.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src/transformProps.ts => plugin-chart-echarts/src/Bullet/EchartsBullet.tsx} (59%)
 copy superset-frontend/plugins/{preset-chart-deckgl/src/utils/mapbox.ts => plugin-chart-echarts/src/Bullet/buildQuery.ts} (62%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3/src/Bullet/controlPanel.ts => plugin-chart-echarts/src/Bullet/controlPanel.tsx} (51%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/Bullet/images/example-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/Bullet/images/example.jpg (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/Bullet/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/Bullet/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/Bullet/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3/src/Bubble => plugin-chart-echarts/src/Bullet}/index.ts (56%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Bullet/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Bullet/types.ts
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3/src/utils/tokenize.ts => plugin-chart-echarts/src/Bullet/utils.ts} (66%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Rose/EchartsRose.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Rose/buildQuery.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src => plugin-chart-echarts/src/Rose}/controlPanel.tsx (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src => plugin-chart-echarts/src/Rose}/images/example1-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src => plugin-chart-echarts/src/Rose}/images/example1.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src => plugin-chart-echarts/src/Rose}/images/example2-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src => plugin-chart-echarts/src/Rose}/images/example2.jpg (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Rose/images/thumbnail-dark.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Rose/images/thumbnail.png
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src => plugin-chart-echarts/src/Rose}/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose/src => plugin-chart-echarts/src/Rose}/index.ts (52%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Rose/transformData.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Rose/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Rose/types.ts
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3/types/external.d.ts => plugin-chart-echarts/src/TimePivot/EchartsTimePivot.tsx} (59%)
 copy superset-frontend/plugins/{legacy-plugin-chart-chord/src/transformProps.ts => plugin-chart-echarts/src/TimePivot/buildQuery.ts} (65%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/TimePivot/controlPanel.ts
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/TimePivot/images/example-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/TimePivot/images/example.jpg (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/TimePivot/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/TimePivot/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-preset-chart-nvd3 => plugin-chart-echarts}/src/TimePivot/images/thumbnailLarge.png (100%)
 copy superset-frontend/plugins/{legacy-plugin-chart-paired-t-test/src => plugin-chart-echarts/src/TimePivot}/index.ts (55%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/TimePivot/transformData.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/TimePivot/transformProps.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/TimePivot/types.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/percentChange.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/legendLayout.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/xAxisDrillByFilter.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/controlPanel.test.ts
 copy superset-frontend/{src/explore/exploreUtils/getLegacyEndpointType.test.ts => plugins/plugin-chart-echarts/test/Bullet/buildQuery.test.ts} (50%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Bullet/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Rose/EchartsRose.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Rose/buildQuery.test.ts
 copy superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.ts => plugin-chart-echarts/test/Rose/controlPanel.test.ts} (72%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Rose/transformData.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Rose/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/TimePivot/transformData.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/TimePivot/transformProps.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/EchartsTimeseries.test.tsx
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/percentChange.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/utils/xAxisDrillByFilter.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/README.md (76%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/package.json (75%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/HorizonChart.tsx (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/HorizonRow.tsx (100%)
 copy superset-frontend/plugins/{preset-chart-deckgl/src/utils/mapbox.ts => plugin-chart-horizon/src/buildQuery.ts} (52%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/controlPanel.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/images/Horizon_Chart-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/images/Horizon_Chart.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/index.ts (96%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/stories/Horizon.stories.tsx (93%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/stories/data.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-horizon/src/transformData.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/src/transformProps.ts (63%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/test/HorizonChart.test.tsx (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/test/HorizonRow.test.tsx (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-horizon/test/buildQuery.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-calendar/types/external.d.ts => plugin-chart-horizon/test/controlPanel.test.ts} (79%)
 create mode 100644 superset-frontend/plugins/plugin-chart-horizon/test/transformData.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-horizon => plugin-chart-horizon}/types/external.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/README.md (75%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/package.json (63%)
 create mode 100644 superset-frontend/plugins/plugin-chart-paired-t-test/src/PairedTTest.tsx
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/TTestTable.tsx (53%)
 create mode 100644 superset-frontend/plugins/plugin-chart-paired-t-test/src/buildQuery.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/controlPanel.ts (89%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/images/example-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/images/example.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/index.ts (94%)
 create mode 100644 superset-frontend/plugins/plugin-chart-paired-t-test/src/statistics.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/stories/TTest.stories.tsx (93%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/stories/data.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-paired-t-test/src/transformData.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/src/transformProps.ts (63%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/test/TTestTable.test.tsx (53%)
 create mode 100644 superset-frontend/plugins/plugin-chart-paired-t-test/test/buildQuery.test.ts
 copy superset-frontend/plugins/{legacy-plugin-chart-chord/src/transformProps.ts => plugin-chart-paired-t-test/test/controlPanel.test.ts} (64%)
 create mode 100644 superset-frontend/plugins/plugin-chart-paired-t-test/test/pipeline.test.tsx
 copy superset-frontend/{src/explore/exploreUtils/getURIDirectory.test.ts => plugins/plugin-chart-paired-t-test/test/statistics.test.ts} (50%)
 create mode 100644 superset-frontend/plugins/plugin-chart-paired-t-test/test/transformData.test.ts
 copy superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-paired-t-test}/test/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-paired-t-test => plugin-chart-paired-t-test}/types/external.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/README.md (74%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/package.json (72%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/ParallelCoordinates.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/ReactParallelCoordinates.tsx (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-parallel-coordinates/src/buildQuery.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/controlPanel.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/images/example1-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/images/example1.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/images/example2-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/images/example2.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/index.ts (95%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/stories/ParallelCoordinates.stories.tsx (92%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/stories/data.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/transformProps.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/vendor/parcoords/d3.parcoords.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/src/vendor/parcoords/divgrid.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-parallel-coordinates/test/buildQuery.test.ts
 copy superset-frontend/plugins/{plugin-chart-word-cloud => plugin-chart-parallel-coordinates}/test/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/types/d3-parcoords.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/types/d3.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates => plugin-chart-parallel-coordinates}/types/external.d.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/README.md (76%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/package.json (77%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/OptionDescription.tsx (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/Partition.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/ReactPartition.tsx (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-partition/src/buildQuery.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/controlPanel.tsx (98%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/images/example-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/images/example.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/index.ts (93%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/stories/Partition.stories.tsx (95%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/stories/data.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-partition/src/transformData.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/src/transformProps.ts (65%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/test/OptionDescription.test.tsx (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-partition/test/buildQuery.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.ts => plugin-chart-partition/test/controlPanel.test.ts} (73%)
 create mode 100644 superset-frontend/plugins/plugin-chart-partition/test/transformData.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-partition/test/transformProps.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/test/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-partition => plugin-chart-partition}/types/external.d.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-table/test/DataTable/utils/getScrollBarSize.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/CHANGELOG.md (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/README.md (76%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/package.json (77%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/ReactWorldMap.tsx (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/WorldMap.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-world-map/src/buildQuery.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/controlPanel.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-world-map/src/countries.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/images/WorldMap1-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/images/WorldMap1.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/images/WorldMap2-dark.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/images/WorldMap2.jpg (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/images/thumbnail-dark.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/images/thumbnail.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/images/thumbnailLarge.png (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/index.ts (97%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/stories/WorldMap.stories.tsx (92%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/stories/data.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-world-map/src/transformData.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/transformProps.ts (71%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/src/utils.ts (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/test/WorldMap.test.ts (100%)
 create mode 100644 superset-frontend/plugins/plugin-chart-world-map/test/buildQuery.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-world-map/test/transformData.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-world-map/test/transformProps.test.ts
 rename superset-frontend/plugins/{legacy-plugin-chart-world-map => plugin-chart-world-map}/test/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose => plugin-chart-world-map}/tsconfig.json (100%)
 rename superset-frontend/plugins/{legacy-plugin-chart-rose => plugin-chart-world-map}/types/external.d.ts (100%)
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/Multi/MultiV1.test.tsx
 copy superset-frontend/{src/explore/exploreUtils/getURIDirectory.test.ts => plugins/preset-chart-deckgl/src/Multi/buildQuery.test.ts} (53%)
 copy superset-frontend/plugins/{legacy-plugin-chart-chord/src/transformProps.ts => preset-chart-deckgl/src/Multi/buildQuery.ts} (67%)
 rename superset-frontend/plugins/{legacy-plugin-chart-chord/src/transformProps.ts => preset-chart-deckgl/src/Multi/index.test.ts} (64%)
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/layers/Arc/Arc.test.ts
 rename superset-frontend/{src/explore/exploreUtils/getLegacyEndpointType.test.ts => plugins/preset-chart-deckgl/src/layers/Arc/buildQuery.test.ts} (55%)
 create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/layers/Geojson/transformProps.test.ts
 delete mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/utils/explore.ts
 create mode 100644 superset-frontend/spec/helpers/mobileTestUtils.ts
 create mode 100644 superset-frontend/src/components/ErrorMessage/DatasourceSecurityAccessErrorMessage.test.tsx
 create mode 100644 superset-frontend/src/components/ErrorMessage/DatasourceSecurityAccessErrorMessage.tsx
 create mode 100644 superset-frontend/src/components/MobileRouteGuard/MobileRouteGuard.test.tsx
 create mode 100644 superset-frontend/src/components/MobileRouteGuard/index.tsx
 create mode 100644 superset-frontend/src/explore/components/DatasourcePanel/DatasourcePanel.real-autosizer.test.tsx
 create mode 100644 superset-frontend/src/explore/components/controls/AnnotationLayerControl/index.test.tsx
 delete mode 100644 superset-frontend/src/explore/exploreUtils/shouldUseLegacyApi.test.ts
 create mode 100644 superset-frontend/src/features/themes/utils.test.ts
 create mode 100644 superset-frontend/src/features/themes/utils.ts
 create mode 100644 superset-frontend/src/hooks/useIsMobile.ts
 create mode 100644 superset-frontend/src/pages/Home/Home.mobile.test.tsx
 create mode 100644 superset-frontend/src/pages/MobileUnsupported/MobileUnsupported.test.tsx
 create mode 100644 superset-frontend/src/pages/MobileUnsupported/index.tsx
 create mode 100644 superset-frontend/src/utils/downloadUtils.test.ts
 create mode 100644 superset-frontend/src/utils/downloadUtils.ts
 create mode 100644 superset-frontend/src/visualizations/TimeTable/config/buildQuery.test.ts
 create mode 100644 superset-frontend/src/visualizations/TimeTable/config/buildQuery.ts
 create mode 100644 superset-frontend/src/visualizations/TimeTable/config/transformProps/transformData.test.ts
 create mode 100644 superset-frontend/src/visualizations/TimeTable/config/transformProps/transformData.ts
 create mode 100644 superset-frontend/tools/webpack.proxy-config.test.js
 create mode 100644 superset/commands/deletion_retention/purge_policy.py
 create mode 100644 superset/commands/report/slack_upgrade.py
 create mode 100644 superset/common/form_data_query_context.py
 create mode 100644 superset/databases/error_provenance.py
 delete mode 100644 superset/mcp_service/screenshot/pooled_screenshot.py
 delete mode 100644 superset/mcp_service/screenshot/webdriver_config.py
 delete mode 100644 superset/mcp_service/screenshot/webdriver_pool.py
 create mode 100644 superset/mcp_service/session_scope.py
 create mode 100644 superset/migrations/versions/2026-07-02_21-00_d4e5f6a7b8c9_migrate_bubble_chart_to_echarts.py
 create mode 100644 superset/migrations/versions/2026-07-02_21-30_88360afb61ed_migrate_compare_chart_to_echarts.py
 create mode 100644 superset/migrations/versions/2026-07-28_10-00_2d6ad72e4af6_add_include_cta_to_report_schedule.py
 copy superset/{daos/security.py => migrations/versions/2026-07-31_12-52_9d744c5dd981_merge_compare_chart_migration_with_.py} (70%)
 copy superset/{daos/security.py => migrations/versions/2026-08-04_10-17_0b99fc576740_merge_report_retry_state_columns_.py} (69%)
 copy superset/{daos/security.py => migrations/versions/2026-08-05_20-00_0be4b8f436f2_merge_report_retry_state_columns_merge_.py} (69%)
 copy superset/{daos/security.py => migrations/versions/2026-08-05_23-03_4f145192b583_merge_restore_pivot_table_percent_.py} (69%)
 copy superset/{daos/security.py => migrations/versions/2026-08-06_00-01_d7cecc48bd55_merge_databend_sslmode_with_pivot_.py} (69%)
 create mode 100644 superset/migrations/versions/2026-08-06_18-00_b8d2f4a6c901_index_purge_audit_predecessor.py
 create mode 100644 superset/reports/notifications/slack_channel_resolver.py
 create mode 100644 superset/reports/notifications/slack_transport.py
 create mode 100644 superset/translations/ta/LC_MESSAGES/messages.po
 create mode 100644 superset/utils/error_sanitization.py
 create mode 100644 superset/utils/number_format.py
 create mode 100644 superset/utils/sqlalchemy_events.py
 delete mode 100644 superset/viz.py
 create mode 100644 tests/integration_tests/deletion_retention/purge_performance_tests.py
 delete mode 100644 tests/integration_tests/viz_tests.py
 create mode 100644 tests/unit_tests/charts/data/test_empty_query_context.py
 create mode 100644 tests/unit_tests/commands/databases/sync_permissions_identity_test.py
 copy {scripts => tests/unit_tests/commands/deletion_retention}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/deletion_retention/test_purge_policy.py
 create mode 100644 tests/unit_tests/common/test_form_data_query_context.py
 create mode 100644 tests/unit_tests/databases/error_provenance_test.py
 create mode 100644 tests/unit_tests/databases/oauth2_api_test.py
 copy tests/unit_tests/{sql/dialects/dremio_tests.py => db_engine_specs/test_sybase.py} (60%)
 create mode 100644 tests/unit_tests/initialization/check_encryption_engine_test.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_multi_issuer_identity_binding.py
 create mode 100644 tests/unit_tests/mcp_service/test_session_scope.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_sanitization_unicode_ordering.py
 copy tests/unit_tests/{databases/test_schemas.py => migrations/test_add_implicit_tags_mapper_isolation.py} (54%)
 create mode 100644 tests/unit_tests/migrations/test_purge_audit_predecessor_index.py
 create mode 100644 tests/unit_tests/migrations/viz/downgrade_scope_test.py
 copy tests/unit_tests/{mcp_service/test_pooled_screenshot.py => migrations/viz/nvd3_compare_chart_to_echarts_test.py} (51%)
 create mode 100644 tests/unit_tests/migrations/viz/upgrade_malformed_query_context_test.py
 create mode 100644 tests/unit_tests/models/test_time_filter_timezone.py
 create mode 100644 tests/unit_tests/scheduled_docker_image_refresh_test.py
 create mode 100644 tests/unit_tests/security/test_embedded_guest_chart_access.py
 create mode 100644 tests/unit_tests/security/test_permission_instructions_link.py
 create mode 100644 tests/unit_tests/sqllab/test_schemas.py
 create mode 100644 tests/unit_tests/sqllab/test_utils.py
 create mode 100644 tests/unit_tests/tasks/test_slack.py
 delete mode 100644 tests/unit_tests/test_viz_cache_key.py
 delete mode 100644 tests/unit_tests/test_viz_get_df_payload.py
 delete mode 100644 tests/unit_tests/test_viz_query_obj.py
 create mode 100644 tests/unit_tests/utils/number_format_test.py
 create mode 100644 tests/unit_tests/utils/rls_test.py
 create mode 100644 tests/unit_tests/utils/test_encrypt_cbc_iv_reuse.py
 create mode 100644 tests/unit_tests/utils/test_error_sanitization.py
 delete mode 100644 tests/unit_tests/utils/test_playwright_migration_working.py
 create mode 100644 tests/unit_tests/views/test_sql_lab_tab_state_views.py