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/13 17:24:14 UTC
(superset) branch tdd/issue-32370-pivoted-csv-special-chars updated (c595c2c2c0f -> 1334e7c31ce)
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch tdd/issue-32370-pivoted-csv-special-chars
in repository https://gitbox.apache.org/repos/asf/superset.git
omit c595c2c2c0f fix(charts): decode CSV bytes payload before the empty-data check
omit ebb649cb04a fix(charts): decode CSV bytes payload before feeding pandas StringIO (#32370)
omit ba6fe167d61 test(charts): pin pivoted CSV export bytes/str crash (#32370)
add 03b35186e5d fix(jinja): handle UndefinedError from virtual dataset templates (#42366)
add 457cd3487de fix(api): include query lifecycle timing in /api/v1/chart/data response (#37516)
add 1666ccaa2b7 chore(deps-dev): bump jsdom from 29.1.1 to 30.0.0 in /superset-frontend (#42691)
add 9a5cf763366 chore(deps): bump fast-uri from 3.1.4 to 3.1.5 in /superset-frontend/cypress-base (#42721)
add cf7527f2e6a chore(deps-dev): bump oxlint from 1.75.0 to 1.76.0 in /superset-frontend (#42751)
add 89d544c2ede chore(deps-dev): bump @types/node from 26.1.1 to 26.1.2 in /superset-frontend (#42750)
add e52f22226fc chore(deps): bump ol from 10.9.0 to 10.10.0 in /superset-frontend (#42749)
add 720f36e763f chore(deps-dev): bump webpack from 5.109.0 to 5.109.1 in /superset-frontend (#42748)
add 0048c4d30b7 chore(deps): bump acorn from 8.17.0 to 8.18.0 in /superset-frontend (#42747)
add 327f526a638 chore(deps-dev): bump the storybook group in /superset-frontend with 5 updates (#42745)
add 64590b51387 chore(deps): bump baseline-browser-mapping from 2.11.4 to 2.11.5 in /docs (#42744)
add f67d12edf86 chore(deps-dev): bump webpack from 5.109.0 to 5.109.1 in /docs (#42743)
add 5f2bc09b9f6 chore(deps): bump the storybook group in /docs with 2 updates (#42742)
add ebda22bdfce chore(deps-dev): bump @types/node from 26.1.1 to 26.1.2 in /superset-websocket (#42741)
add 46b583668bc chore(deps-dev): bump ip-address from 10.2.0 to 10.4.0 in /superset-frontend (#42727)
add 29098afff7d chore(deps): bump react-arborist from 3.15.1 to 3.16.0 in /superset-frontend (#42689)
add e66c7fcb638 chore(deps-dev): bump oxfmt from 0.60.0 to 0.61.0 in /superset-frontend (#42746)
add 0615c73ff3a chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.2.0 (#42692)
add 3dde95d8096 feat(reports): add retry on failure support for reports (#42481)
add 50c84f220b3 docs: fix parameter name in Explorable.get_query_result docstring (#42646)
add 9377659ffaa fix(dashboard): preserve duplicate chart holders in filter scopes (#42502)
add e103d92b489 feat(versioning): version-history UI (#41551)
add 1478e32bc26 fix(mcp): persist Handlebars template under camelCase key so it renders (#42725)
add 4e9e884dd8c fix(sqllab): wrap process_template() in QueryEstimationCommand to prevent raw UndefinedError leak (#42757)
add 7c037366238 fix(alerts): wrap Jinja rendering errors in AlertCommand._execute_query (#42714)
add 33c386a2d6f fix(core): reduce metric expression log noise (#42619)
add 043163b54c0 fix(mcp): reject unparseable time_range instead of silently matching full table (#42283)
add a0895a1fbd3 fix(native-filters): allow X-clear on defaultToFirstItem filters with required warning (#42762)
add 86b20761697 fix(mcp): handle missing metrics/columns and null data in chart preview (#42576)
add da27b4ed809 chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions (#42542)
add 22909bb039e fix(sqllab): retry table metadata preview after OAuth2 redirect (#42390)
add 1a74c8ef678 chore(deps-dev): bump fast-uri from 3.1.4 to 3.1.5 in /superset-embedded-sdk (#42764)
add e871ee27cfe fix(i18n-es): correct format-placeholder defects in Spanish catalog (#42728)
add 5720e9c7fd3 chore(deps): require manual deck.gl upgrades (#42653)
add 2f9bde55797 fix(sql): preserve quoted-identifier casing for the HANA dialect (#39328) (#42731)
add 956231b9eec fix(dataset): make post-save column refresh best-effort for Jinja SQL (#42463)
add d6c8fdd10d8 fix(explore): recompute currency_formats when dataset is saved from c… (#42480)
add 1605676aa79 fix(reports): use zip extension for bundled CSV attachments (#42640)
add 7324225c777 fix(filters): sort numeric filter values numerically, not lexicographically (#36775) (#42596)
add ab124a333c9 fix(SafeMarkdown): let htmlSchemaOverrides replace matching default attribute rules (#42202)
add 425c70ae37e chore(deps-dev): bump webpack from 5.109.1 to 5.109.2 in /superset-frontend (#42784)
add 3cf83f0a5a1 chore(deps-dev): bump baseline-browser-mapping from 2.11.5 to 2.11.6 in /superset-frontend (#42783)
add 4c33258b9d6 chore(deps): bump react-draggable from 4.7.0 to 4.7.1 in /superset-frontend (#42782)
add 247f610ee10 chore(deps-dev): bump eslint-plugin-jest-dom from 5.5.0 to 5.6.0 in /superset-frontend (#42781)
add ae8c4bd4511 chore(deps): bump baseline-browser-mapping from 2.11.5 to 2.11.6 in /docs (#42780)
add a57c9b34c9c chore(deps-dev): bump webpack from 5.109.1 to 5.109.2 in /docs (#42779)
add 0cc5c51ba3f chore(deps): bump selenium from 4.45.0 to 4.46.0 (#42777)
add fcfee7efbce chore(deps-dev): bump fastmcp from 3.4.4 to 3.4.5 (#42776)
add 0692607b4af chore(deps-dev): update taospy requirement from >=2.8.9 to >=2.8.10 (#42775)
add 6713f1be45c chore(deps-dev): update teradatasql requirement from >=20.0.0.62 to >=20.0.0.63 (#42774)
add 872311b3c2b chore(deps-dev): bump duckdb from 1.5.4 to 1.5.5 (#42773)
add 816f37f5b97 chore(deps-dev): bump gevent from 26.4.0 to 26.7.0 (#42770)
add efab63d42c5 chore(deps): bump docker/login-action from 4.5.2 to 4.6.0 (#42769)
add 19399a50681 chore(deps-dev): bump jsdom from 30.0.0 to 30.0.1 in /superset-frontend (#42791)
add 9c97d4859c6 fix(mcp): stop false-flagging successful responses with error_type:null as failures (#42580) (#42736)
add e7338a2add9 fix(mcp): route FastMCP ValidationError through the validation error handler (#42578) (#42738)
add 482a59ec72e fix(docker): replace stale superset_app hostname in dev WEBDRIVER_BASEURL (#42495)
add f65b42408e5 fix(tasks): gate exception_type in task properties behind SHOW_STACKTRACE (#40587)
add 2c7adcaef85 chore(deps): bump sqlglot from 30.12.0 to 30.14.0 (#42772)
add 05193ed7e19 fix(models): guard three more backref cascades for SQLAlchemy 2.0 (#42787)
add 657e2d2267a perf(TimeTable): skip rendering TableView while the window is resizing (#42097)
add 47a4dabd14a feat(soft-delete): warn at startup when a retention task's Celery config is incomplete (#42641)
add e880711bbbf fix(migrations): actually drop _customer_location_uc (list == set no-op) (#42642)
add 126c93b4958 fix(versioning): pin shadow-row reads and restore to (id, uuid) (#42797)
add 0e4e368768f feat(mcp): add observability to MCP service (#41921)
add 633f3938808 feat(pivot-table): reintroduce show-values-as-fraction display option (#42761)
add ad0538935da fix(pivot-table): blank ambiguous cross-metric totals and null values in fraction mode (#42810)
add 32e4e3c6a88 fix(reports): enforce dashboard readiness and execution budget (#42624)
add f5bca3bf3f1 fix(sqllab): stop OAuth2 banner from ballooning the database selector popover (#42652)
add 3f011edabba fix(mcp): supply required DBEventLogger args so mcp_tool_error events are logged (#42579) (#42730)
add 1de35d13611 fix(mcp): reject unknown fields in nested chart-config models too (#42626) (#42732)
add 442995481c4 test(deckgl): Polygon chart with a column literally named "polygon" (#33669) (#42591)
add d594a4d1578 fix(mcp): make streamable-http session mode configurable via MCP_STATELESS_HTTP (#42814)
add b8c44a1ad5d fix(ci): restore master validation checks (#42807)
add 4278f4b3d93 fix(explore): honor explicit List legend selection instead of flipping to scroll (#41749)
add 3f413e6e104 chore(deps-dev): bump @swc/core from 1.15.46 to 1.15.47 in /superset-frontend (#42832)
add 05af8eeff2c chore(deps): bump react-map-gl from 8.1.1 to 8.1.2 in /superset-frontend (#42831)
add bbd7ac72789 chore(deps-dev): bump baseline-browser-mapping from 2.11.6 to 2.11.7 in /superset-frontend (#42830)
add a7dd86adc64 chore(deps): bump github/codeql-action/analyze from 4.37.3 to 4.37.4 (#42828)
add 450e43b8f25 chore(deps): bump baseline-browser-mapping from 2.11.6 to 2.11.7 in /docs (#42826)
add 76e6909cfdd chore(deps): bump @swc/core from 1.15.46 to 1.15.47 in /docs (#42825)
add 0fc0d21dd30 chore(deps): bump github/codeql-action/init from 4.37.3 to 4.37.4 (#42827)
add 57d6e5c6373 feat(hooks): add configurable post-creation hook for dashboards (#42837)
add de93a19b3c7 fix(engine): update databend engine spec for dialect version >=0.4.6 (#28627)
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 bde8af8acaa test(charts): pin pivoted CSV export bytes/str crash (#32370)
add b7acbd82a5c fix(charts): decode CSV bytes payload before feeding pandas StringIO (#32370)
add 1334e7c31ce fix(charts): decode CSV bytes payload before the empty-data check
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (c595c2c2c0f)
\
N -- N -- N refs/heads/tdd/issue-32370-pivoted-csv-special-chars (1334e7c31ce)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 1 +
.github/CODEOWNERS | 27 +-
.github/dependabot.yml | 18 +-
.github/workflows/bashlib.sh | 19 +-
.github/workflows/check-python-deps.yml | 4 +-
.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/mirror-service-images.yml | 6 +-
.github/workflows/pre-commit.yml | 2 +-
.../workflows/scheduled-docker-image-refresh.yml | 16 +-
.github/workflows/superset-app-cli.yml | 2 +-
.github/workflows/superset-docs-deploy.yml | 4 +-
.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 | 2 +-
.../workflows/superset-python-integrationtest.yml | 2 +-
.github/workflows/superset-python-presto-hive.yml | 2 +-
.github/workflows/superset-python-unittest.yml | 2 +-
.github/workflows/superset-translations.yml | 2 +-
...sync-requirements-for-python-dep-upgrade-pr.yml | 2 +-
.gitignore | 1 +
AGENTS.md | 15 +-
UPDATING.md | 342 +-
docker/pythonpath_dev/superset_config.py | 8 +-
docs/admin_docs/configuration/alerts-reports.mdx | 120 +-
.../configuration/async-queries-celery.mdx | 10 +-
docs/admin_docs/configuration/cache.mdx | 68 +-
.../configuration/configuring-superset.mdx | 60 +
.../admin_docs/configuration/country-map-tools.mdx | 8 +-
docs/admin_docs/configuration/sql-templating.mdx | 70 +
docs/admin_docs/security/security.mdx | 45 +
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/number-formatting.mdx | 92 +
docs/docs/using-superset/version-history.mdx | 120 +
docs/package.json | 30 +-
docs/scripts/generate-database-docs.mjs | 55 +-
docs/src/components/databases/DatabasePage.tsx | 70 +-
docs/src/components/databases/types.ts | 9 +
docs/static/feature-flags.json | 16 +-
docs/static/resources/openapi.json | 7 +
.../version-6.0.0/configuration/databases.mdx | 4 +-
docs/yarn.lock | 1393 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 2 +-
helm/superset/templates/_helpers.tpl | 1 +
pyproject.toml | 112 +-
pytest.ini | 17 -
requirements/base.in | 2 +-
requirements/base.txt | 55 +-
requirements/development.txt | 83 +-
scripts/change_detector.py | 1 +
superset-core/pyproject.toml | 2 +-
superset-embedded-sdk/package-lock.json | 6 +-
.../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 | 90 +-
superset-frontend/cypress-base/package.json | 3 +
superset-frontend/jest.config.js | 2 +-
superset-frontend/oxlint.json | 13 +
superset-frontend/package-lock.json | 4353 ++---
superset-frontend/package.json | 86 +-
.../packages/superset-core/package.json | 3 +-
.../superset-core/src/theme/Theme.test.tsx | 37 +
.../packages/superset-core/src/theme/Theme.tsx | 41 +-
.../superset-ui-chart-controls/src/types.ts | 3 +-
.../src/utils/D3Formatting.ts | 5 +
.../src/utils/buildSortMetricOrderby.ts | 87 +
.../src/utils/getColorFormatters.ts | 46 +-
.../superset-ui-chart-controls/src/utils/index.ts | 1 +
.../test/utils/buildSortMetricOrderby.test.ts | 96 +
.../test/utils/getColorFormatters.test.ts | 164 +
.../packages/superset-ui-core/package.json | 15 +-
.../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 -
.../packages/superset-ui-core/src/color/utils.ts | 43 +
.../src/components/DropdownButton/index.tsx | 20 +-
.../src/components/DynamicEditableTitle/index.tsx | 20 +-
.../src/components/EmptyState/index.tsx | 8 +-
.../src/components/Modal/Modal.stories.tsx | 72 +
.../src/components/Modal/Modal.tsx | 78 +-
.../src/components/SafeMarkdown/SafeMarkdown.tsx | 73 +-
.../src/components/Select/AsyncSelect.test.tsx | 46 +
.../src/components/Select/utils.test.ts | 46 +
.../src/components/Select/utils.tsx | 14 +-
.../src/components/Table/VirtualTable.test.tsx | 122 +
.../src/components/Table/VirtualTable.tsx | 155 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 14 +-
.../UnsavedChangesModal.test.tsx | 180 +-
.../src/components/UnsavedChangesModal/index.tsx | 93 +-
.../factories/createThroughputFormatter.ts | 86 +
.../superset-ui-core/src/number-format/index.ts | 1 +
.../src/query/types/QueryResponse.ts | 17 +
.../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 +
.../test/components/SafeMarkdown.test.tsx | 105 +
.../factories/createThroughputFormatter.test.ts | 131 +
.../test/query/getClientErrorObject.test.ts | 26 +
.../superset-ui-core/test/utils/lruCache.test.ts | 21 +
.../components/modals/DeleteConfirmationModal.ts | 46 +-
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/version-history/activity-log.spec.ts | 173 +
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 -
.../src/controlPanel.tsx | 8 +-
.../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} | 15 +-
.../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} | 15 +-
.../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} | 15 +-
.../test/transformProps.test.ts | 53 +
.../test/tsconfig.json | 0
.../tsconfig.json | 0
.../types/external.d.ts | 0
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../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} | 17 +-
.../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 | 41 +-
.../src/TimePivot/transformData.ts | 187 +
.../src/TimePivot/transformProps.ts | 215 +
.../plugin-chart-echarts/src/TimePivot/types.ts | 48 +
.../src/Timeseries/EchartsTimeseries.tsx | 164 +
.../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 | 73 +-
.../test/Bullet/buildQuery.test.ts} | 40 +-
.../test/Bullet/transformProps.test.ts | 258 +
.../test/Gantt/transformProps.test.ts | 9 +-
.../test/MixedTimeseries/transformProps.test.ts | 52 +
.../test/Pie/transformProps.test.ts | 24 +-
.../test/Rose/EchartsRose.test.tsx | 186 +
.../test/Rose/buildQuery.test.ts | 95 +
.../test/Rose/controlPanel.test.ts} | 16 +-
.../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 | 89 +-
.../test/Timeseries/EchartsTimeseries.test.tsx | 247 +
.../test/Timeseries/percentChange.test.ts | 98 +
.../test/Timeseries/transformProps.test.ts | 477 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 319 +-
.../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} | 17 +-
.../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} | 16 +-
.../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/PivotTableChart.tsx | 2 +
.../src/plugin/controlPanel.tsx | 28 +-
.../src/plugin/transformProps.ts | 19 +-
.../src/plugin/utilities.ts | 45 +-
.../src/react-pivottable/utilities.ts | 154 +-
.../plugins/plugin-chart-pivot-table/src/types.ts | 17 +
.../test/plugin/transformProps.test.ts | 22 +
.../test/plugin/utilities.test.ts | 70 +-
.../test/react-pivottable/tableRenders.test.tsx | 400 +
.../plugin-chart-point-cluster-map/package.json | 4 +-
.../src/DataTable/hooks/useSticky.tsx | 11 +-
.../src/DataTable/utils/getScrollBarSize.ts | 73 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 53 +-
.../plugin-chart-table/src/controlPanel.tsx | 9 +-
.../plugin-chart-table/src/transformProps.ts | 11 +-
.../test/DataTable/utils/getScrollBarSize.test.ts | 52 +
.../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
.../plugins/preset-chart-deckgl/package.json | 2 +-
.../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} | 17 +-
.../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 +-
.../src/layers/Polygon/transformProps.test.ts | 62 +
.../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/reducerIndex.ts | 2 +
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 1 +
.../TableExploreTree/TreeNodeRenderer.tsx | 6 +-
.../components/TablePreview/TablePreview.test.tsx | 108 +
.../src/SqlLab/components/TablePreview/index.tsx | 33 +-
.../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 | 1 -
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 68 +-
.../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 +-
.../Datasource/FoldersEditor/TreeItem.styles.ts | 24 +-
.../FoldersEditor/VirtualizedTreeItem.tsx | 54 +-
.../FoldersEditor/VirtualizedTreeList.tsx | 47 +-
.../FoldersEditor/hooks/useAutoScroll.ts | 8 +-
.../src/components/DynamicPlugins/index.tsx | 1 +
.../DatasourceSecurityAccessErrorMessage.test.tsx | 135 +
.../DatasourceSecurityAccessErrorMessage.tsx | 159 +
.../ErrorMessage/OAuth2RedirectMessage.test.tsx | 12 +
.../ErrorMessage/OAuth2RedirectMessage.tsx | 2 +
.../src/components/ErrorMessage/index.tsx | 1 +
.../src/components/GridTable/index.tsx | 1 -
.../ListView/Filters/CompactSelectPanel.tsx | 6 +-
superset-frontend/src/constants.ts | 7 +
.../src/dashboard/actions/dashboardState.test.ts | 141 +
.../src/dashboard/actions/dashboardState.ts | 10 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 15 +-
.../AutoRefreshStatus/StatusIndicatorDot.tsx | 14 +-
.../DashboardBuilder/DashboardBuilder.test.tsx | 179 +-
.../DashboardBuilder/DashboardBuilder.tsx | 235 +-
.../DashboardBuilder/DashboardContainer.tsx | 15 +-
.../DashboardBuilder/DashboardWrapper.tsx | 2 +-
.../src/dashboard/components/Header/index.tsx | 19 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 20 +-
.../PropertiesModal/PropertiesModal.test.tsx | 2 +-
.../src/dashboard/components/SliceAdder.test.tsx | 56 +-
.../src/dashboard/components/SliceAdder.tsx | 131 +-
.../src/dashboard/components/dnd/DragHandle.tsx | 10 +-
.../components/gridComponents/Chart/Chart.test.tsx | 263 +-
.../components/gridComponents/Chart/Chart.tsx | 39 +-
.../components/gridComponents/Row/Row.test.tsx | 59 +
.../components/gridComponents/Row/Row.tsx | 50 +-
.../components/gridComponents/Tab/Tab.tsx | 11 +-
.../FilterBar/ActionButtons/index.tsx | 60 +-
.../FilterBar/CrossFilters/CrossFilter.tsx | 20 +-
.../FilterBar/CrossFilters/CrossFilterTag.tsx | 10 +-
.../FilterBar/CrossFilters/CrossFilterTitle.tsx | 8 +-
.../CrossFilters/ScopingModal/ScopingModal.tsx | 19 +-
.../FilterBar/FilterControls/FilterControl.tsx | 4 +-
.../FilterBar/UrlFilters/UrlFilterTag.tsx | 8 +-
.../components/nativeFilters/FilterBar/utils.ts | 4 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 10 +-
.../components/nativeFilters/utils.test.ts | 37 +-
.../dashboard/components/nativeFilters/utils.ts | 32 +-
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 | 4 +
.../src/dashboard/util/calculateScopes.ts | 15 +-
.../src/dashboard/util/crossFilters.ts | 30 +-
.../util/getChartIdsInFilterScope.test.ts | 42 +-
.../src/dashboard/util/getChartIdsInFilterScope.ts | 92 +-
.../src/dashboard/util/permissionUtils.test.ts | 54 +
.../src/dashboard/util/permissionUtils.ts | 7 +-
.../src/explore/actions/datasourcesActions.test.ts | 49 +-
.../src/explore/actions/datasourcesActions.ts | 27 +-
.../src/explore/actions/exploreActions.ts | 17 +-
.../src/explore/components/Control.tsx | 8 +-
.../explore/components/ControlPanelsContainer.tsx | 9 +-
.../components/DatasourcePanel/DatasourceItems.tsx | 32 +-
.../DatasourcePanel.real-autosizer.test.tsx | 128 +
.../DatasourcePanel/DatasourcePanelItem.test.tsx | 19 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 35 +-
.../components/ExploreChartHeader/index.tsx | 27 +-
.../ExploreChartPanel/ExploreChartPanel.test.tsx | 1 -
.../explore/components/ExploreChartPanel/index.tsx | 56 -
.../ExploreViewContainer.test.tsx | 38 +-
.../components/ExploreViewContainer/index.tsx | 142 +-
.../src/explore/components/SaveModal.test.tsx | 35 +-
.../src/explore/components/SaveModal.tsx | 44 +-
.../AnnotationLayer.subdirectory.test.tsx | 1 +
.../AnnotationLayer.test.tsx | 147 +-
.../AnnotationLayerControl/AnnotationLayer.tsx | 92 +-
.../controls/AnnotationLayerControl/index.test.tsx | 52 +
.../controls/AnnotationLayerControl/index.tsx | 22 +-
.../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 +-
.../DatasourceControl/DatasourceControl.test.tsx | 48 +
.../controls/DatasourceControl/index.tsx | 17 +-
.../controls/SelectAsyncControl/index.tsx | 3 +
.../components/controls/SelectControl.test.tsx | 36 +
.../components/controls/VerticalRadioControl.tsx | 8 +-
.../explore/components/controls/ViewQueryModal.tsx | 2 +-
.../components/controls/VizTypeControl/VizTile.tsx | 50 +-
.../components/controls/VizTypeControl/index.tsx | 2 +-
.../useExploreAdditionalActionsMenu/index.tsx | 36 +
.../useExploreAdditionalActionsMenu.test.tsx | 68 +
.../explore/exploreUtils/canOverwriteSlice.test.ts | 109 +
.../src/explore/exploreUtils/canOverwriteSlice.ts | 71 +
.../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 | 217 +-
.../src/features/alerts/AlertReportModal.tsx | 140 +
.../alerts/components/AlertStatusIcon.test.tsx | 8 +
.../features/alerts/components/AlertStatusIcon.tsx | 10 +-
superset-frontend/src/features/alerts/types.ts | 15 +-
.../UploadDataModel/UploadDataModal.test.tsx | 28 +-
.../features/databases/UploadDataModel/index.tsx | 10 +-
superset-frontend/src/features/home/RightMenu.tsx | 10 +-
.../reports/ReportModal/ReportModal.test.tsx | 77 +
.../src/features/reports/ReportModal/index.tsx | 89 +
.../src/features/reports/ReportModal/styles.tsx | 14 +
superset-frontend/src/features/reports/types.ts | 5 +
.../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 +
.../src/features/versionHistory/ActionRow.tsx | 246 +
.../versionHistory/ChartVersionPreview.test.tsx | 243 +
.../versionHistory/ChartVersionPreview.tsx | 251 +
.../versionHistory/CurrentVersionSection.tsx | 163 +
.../DashboardVersionHistory.test.tsx | 255 +
.../versionHistory/DashboardVersionHistory.tsx | 282 +
.../versionHistory/ExploreVersionHistory.test.tsx | 338 +
.../versionHistory/ExploreVersionHistory.tsx | 361 +
.../features/versionHistory/PreviewBanner.test.tsx | 247 +
.../src/features/versionHistory/PreviewBanner.tsx | 129 +
.../features/versionHistory/RelatedUpdateRow.tsx | 183 +
.../versionHistory/RestoreConfirmModal.tsx | 72 +
.../src/features/versionHistory/SaveGroupItem.tsx | 386 +
.../versionHistory/VersionHistoryPanel.test.tsx | 498 +
.../versionHistory/VersionHistoryPanel.tsx | 343 +
.../src/features/versionHistory/api.test.ts | 232 +
.../src/features/versionHistory/api.ts | 396 +
.../features/versionHistory/canRestoreDashboard.ts | 41 +
.../src/features/versionHistory/display.test.ts | 421 +
.../src/features/versionHistory/display.ts | 398 +
.../src/features/versionHistory/grouping.test.ts | 440 +
.../src/features/versionHistory/grouping.ts | 276 +
.../features/versionHistory/openRelated.test.ts | 130 +
.../src/features/versionHistory/openRelated.ts | 64 +
.../versionHistory/previewReselect.test.tsx | 134 +
.../src/features/versionHistory/reducer.test.ts | 147 +
.../src/features/versionHistory/reducer.ts | 294 +
.../versionHistory/sessionLogMiddleware.test.ts | 226 +
.../versionHistory/sessionLogMiddleware.ts | 155 +
.../src/features/versionHistory/types.ts | 231 +
.../useDashboardVersionPreview.test.tsx | 716 +
.../versionHistory/useDashboardVersionPreview.ts | 470 +
.../versionHistory/useVersionActions.test.tsx | 338 +
.../features/versionHistory/useVersionActions.tsx | 323 +
.../versionHistory/useVersionActivity.test.ts | 424 +
.../features/versionHistory/useVersionActivity.ts | 281 +
.../components/Select/SelectFilterPlugin.test.tsx | 151 +
.../components/Select/SelectFilterPlugin.tsx | 28 +-
.../src/hooks/apiResources/dashboards.ts | 2 +-
superset-frontend/src/logger/LogUtils.ts | 2 +
.../src/pages/AlertReportList/index.tsx | 1 +
.../src/pages/ChartCreation/ChartCreation.test.tsx | 59 +
.../src/pages/ChartCreation/index.tsx | 2 +
.../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/Chart.ts | 2 +
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/navigationUtils.ts | 38 +
superset-frontend/src/utils/softDeleteCopy.ts | 5 +-
superset-frontend/src/views/routes.tsx | 5 +-
superset-frontend/src/views/store.ts | 18 +-
.../visualizations/TimeTable/TimeTable.test.tsx | 51 +-
.../src/visualizations/TimeTable/TimeTable.tsx | 53 +-
.../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 +-
superset-frontend/tsconfig.json | 22 +-
superset-frontend/webpack.config.js | 4 +-
superset-frontend/webpack.proxy-config.js | 18 +-
superset-websocket/package-lock.json | 341 +-
superset-websocket/package.json | 14 +-
superset/async_events/async_query_manager.py | 36 +-
superset/charts/api.py | 113 +-
superset/charts/client_processing.py | 468 +-
superset/charts/data/api.py | 75 +-
superset/charts/schemas.py | 32 +
superset/cli/export_example.py | 2 +-
superset/cli/viz_migrations.py | 24 +-
superset/commands/chart/data/get_data_command.py | 28 +
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/refresh.py | 22 +-
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 | 33 +-
superset/commands/report/base.py | 58 +-
superset/commands/report/create.py | 2 +
superset/commands/report/exceptions.py | 32 +
superset/commands/report/execute.py | 897 +-
superset/commands/report/execute_now.py | 21 +-
superset/commands/report/slack_upgrade.py | 225 +
superset/commands/report/update.py | 32 +
superset/commands/security/create.py | 43 +-
superset/commands/security/update.py | 57 +-
superset/commands/sql_lab/estimate.py | 35 +-
superset/commands/streaming_export/base.py | 24 +-
superset/commands/tag/export.py | 86 +-
superset/common/chart_data_timing.py | 114 +
superset/common/form_data_query_context.py | 356 +
superset/common/query_actions.py | 145 +-
superset/common/query_context.py | 23 +
superset/common/query_context_factory.py | 8 +-
superset/common/query_context_processor.py | 99 +-
superset/common/query_object.py | 16 +
superset/common/query_object_factory.py | 4 +-
superset/common/utils/dataframe_utils.py | 7 +-
superset/config.py | 189 +-
superset/connectors/sqla/models.py | 314 +-
superset/connectors/sqla/utils.py | 34 +-
superset/daos/base.py | 19 +-
superset/daos/dashboard.py | 10 +
superset/daos/dataset.py | 2 +-
superset/daos/security.py | 20 +-
superset/daos/version.py | 3 +
superset/dashboards/api.py | 55 +-
superset/dashboards/schemas.py | 1 +
superset/databases/api.py | 7 +-
superset/databases/error_provenance.py | 51 +
superset/databases/schemas.py | 18 +
superset/databases/ssh_tunnel/models.py | 4 +
superset/databases/utils.py | 43 +-
superset/datasets/api.py | 6 +-
superset/datasets/schemas.py | 32 +
superset/db_engine_specs/base.py | 76 +-
superset/db_engine_specs/clickhouse.py | 24 +-
superset/db_engine_specs/couchbase.py | 6 +-
superset/db_engine_specs/d1.py | 12 +
superset/db_engine_specs/databend.py | 91 +-
superset/db_engine_specs/databricks.py | 46 +-
superset/db_engine_specs/duckdb.py | 14 +-
superset/db_engine_specs/kusto.py | 11 +
superset/db_engine_specs/mysql.py | 2 +
superset/db_engine_specs/postgres.py | 9 +-
superset/db_engine_specs/snowflake.py | 28 +-
superset/db_engine_specs/solr.py | 11 +
.../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 +-
superset/exceptions.py | 23 +-
superset/explorables/base.py | 2 +-
superset/extensions/__init__.py | 14 +-
superset/initialization/__init__.py | 167 +-
superset/jinja_context.py | 188 +-
superset/key_value/shared_entries.py | 1 +
superset/mcp_service/PRODUCTION.md | 55 +-
superset/mcp_service/SECURITY.md | 7 +
superset/mcp_service/__main__.py | 17 +-
superset/mcp_service/app.py | 10 +-
superset/mcp_service/auth.py | 27 +-
superset/mcp_service/chart/chart_helpers.py | 15 +-
superset/mcp_service/chart/chart_utils.py | 23 +-
superset/mcp_service/chart/compile.py | 28 +-
superset/mcp_service/chart/preview_utils.py | 30 +-
superset/mcp_service/chart/schemas.py | 59 +-
superset/mcp_service/chart/tool/get_chart_data.py | 78 +
.../mcp_service/chart/tool/get_chart_preview.py | 44 +-
.../chart/tool/get_chart_type_schema.py | 4 +-
superset/mcp_service/chart/tool/list_charts.py | 14 +-
superset/mcp_service/chart/tool/update_chart.py | 178 +-
.../mcp_service/common/time_range_validation.py | 194 +
superset/mcp_service/dashboard/schemas.py | 11 +
superset/mcp_service/dataset/schemas.py | 63 +-
superset/mcp_service/dataset/tool/list_datasets.py | 13 +-
superset/mcp_service/dataset/tool/query_dataset.py | 1 +
superset/mcp_service/mcp_config.py | 96 +
superset/mcp_service/mcp_core.py | 38 +-
superset/mcp_service/middleware.py | 325 +-
superset/mcp_service/screenshot/__init__.py | 19 +-
.../mcp_service/screenshot/pooled_screenshot.py | 489 -
.../mcp_service/screenshot/webdriver_config.py | 143 -
superset/mcp_service/screenshot/webdriver_pool.py | 437 -
superset/mcp_service/semantic_layer/schemas.py | 28 +-
superset/mcp_service/server.py | 21 +-
superset/mcp_service/tag/tool/get_tag_info.py | 3 +
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 +
..._f3a8c1d2e9b7_add_report_retry_state_columns.py | 100 +
...755d4ca4ae_drop__customer_location_uc_take_2.py | 91 +
...c5dd981_merge_compare_chart_migration_with_.py} | 18 +-
...9fc576740_merge_report_retry_state_columns_.py} | 18 +-
...941d5352_restore_pivot_table_percent_display.py | 181 +
...6f2_merge_report_retry_state_columns_merge_.py} | 18 +-
...5192b583_merge_restore_pivot_table_percent_.py} | 18 +-
...0-00_c4a1b8e2d739_databend_secure_to_sslmode.py | 163 +
...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 | 372 +-
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 | 23 +-
superset/reports/models.py | 44 +-
superset/reports/notifications/base.py | 10 +
superset/reports/notifications/email.py | 156 +-
superset/reports/notifications/exceptions.py | 4 +
superset/reports/notifications/slack.py | 132 +-
.../notifications/slack_channel_resolver.py | 94 +
superset/reports/notifications/slack_mixin.py | 86 +-
superset/reports/notifications/slack_transport.py | 310 +
superset/reports/notifications/slackv2.py | 225 +-
superset/reports/notifications/webhook.py | 18 +-
superset/reports/schemas.py | 93 +
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/__init__.py | 2 +
superset/sql/dialects/db2.py | 8 +
superset/sql/dialects/hana.py | 47 +
superset/sql/parse.py | 434 +-
superset/sqllab/api.py | 20 +
superset/sqllab/sqllab_execution_context.py | 39 +
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/scheduler.py | 55 +-
superset/tasks/schemas.py | 16 +-
superset/tasks/slack.py | 16 +-
superset/themes/utils.py | 63 +-
superset/translations/es/LC_MESSAGES/messages.po | 432 +-
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 | 45 +-
superset/utils/decorators.py | 25 +-
superset/utils/error_sanitization.py | 177 +
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/report_execution.py | 269 +
superset/utils/rls.py | 66 +-
superset/utils/screenshot_utils.py | 387 +-
superset/utils/screenshots.py | 98 +-
superset/utils/slack.py | 597 +-
superset/utils/sqlalchemy_events.py | 103 +
superset/utils/webdriver.py | 947 +-
superset/versioning/api_helpers.py | 13 +-
superset/versioning/baseline/collection.py | 7 +-
superset/versioning/queries.py | 80 +-
superset/versioning/restore.py | 4 +
superset/views/base.py | 9 +
superset/views/base_api.py | 75 +-
superset/views/core.py | 263 +-
superset/views/dashboard/views.py | 5 +-
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/charts/data/api_tests.py | 108 +-
.../charts/version_restore_tests.py | 22 +-
tests/integration_tests/commands_test.py | 1 +
tests/integration_tests/core_tests.py | 103 +-
tests/integration_tests/dashboard_tests.py | 22 +
tests/integration_tests/dashboards/api_tests.py | 48 +-
.../integration_tests/dashboards/commands_tests.py | 1 +
.../dashboards/soft_delete_tests.py | 7 +-
.../dashboards/version_restore_tests.py | 20 +-
tests/integration_tests/databases/api_tests.py | 50 +-
.../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 +-
tests/integration_tests/reports/alert_tests.py | 5 +
tests/integration_tests/reports/api_tests.py | 14 +
tests/integration_tests/reports/commands_tests.py | 1207 +-
tests/integration_tests/reports/scheduler_tests.py | 71 +-
tests/integration_tests/reports/utils.py | 20 +
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 | 21 +
.../integration_tests/tasks/async_queries_tests.py | 118 -
tests/integration_tests/thumbnails_tests.py | 113 +-
.../integration_tests/utils/machine_auth_tests.py | 56 +-
tests/integration_tests/utils_tests.py | 33 +-
.../integration_tests/versioning/id_reuse_tests.py | 353 +
tests/integration_tests/viz_tests.py | 2456 ---
.../async_events/async_query_manager_tests.py | 55 -
.../charts/commands/data/test_get_data_command.py | 52 +
.../charts/data/test_empty_query_context.py | 43 +
tests/unit_tests/charts/test_chart_data_api.py | 523 +-
tests/unit_tests/charts/test_client_processing.py | 737 +-
tests/unit_tests/charts/test_schemas.py | 43 +
.../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 +
tests/unit_tests/commands/dataset/refresh_test.py | 186 +
.../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 | 37 +
tests/unit_tests/commands/report/base_test.py | 92 +
tests/unit_tests/commands/report/execute_test.py | 1976 +-
.../unit_tests/commands/report/test_execute_now.py | 45 +-
tests/unit_tests/commands/report/update_test.py | 46 +
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 | 104 +-
.../common/test_form_data_query_context.py | 570 +
tests/unit_tests/common/test_query_actions.py | 306 +-
.../common/test_query_actions_drill_detail.py | 53 +-
.../common/test_query_context_factory.py | 22 +
.../common/test_query_context_processor.py | 30 +-
.../common/test_query_context_processor_timing.py | 266 +
tests/unit_tests/connectors/sqla/models_test.py | 578 +-
tests/unit_tests/connectors/sqla/test_utils.py | 103 +-
.../daos/test_base_relationship_filters.py | 49 +-
.../commands/importers/v1/import_command_test.py | 7 +
tests/unit_tests/databases/api_test.py | 84 +
.../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/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 | 105 +-
tests/unit_tests/db_engine_specs/test_databend.py | 132 +-
tests/unit_tests/db_engine_specs/test_postgres.py | 21 +
tests/unit_tests/db_engine_specs/test_snowflake.py | 40 +-
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/initialization_test.py | 299 +-
tests/unit_tests/jinja_context_test.py | 1163 +-
.../key_value/test_shared_entries_migration.py | 40 +
.../mcp_service/chart/test_chart_helpers.py | 60 +
.../mcp_service/chart/test_chart_schemas.py | 27 +-
tests/unit_tests/mcp_service/chart/test_compile.py | 40 +
.../mcp_service/chart/test_handlebars_chart.py | 4 +-
.../mcp_service/chart/test_preview_utils.py | 12 +
.../mcp_service/chart/tool/test_get_chart_data.py | 217 +-
.../chart/tool/test_get_chart_preview.py | 169 +
.../mcp_service/chart/tool/test_list_charts.py | 65 +
.../mcp_service/chart/tool/test_update_chart.py | 317 +
.../common/test_time_range_validation.py | 283 +
.../dashboard/tool/test_dashboard_generation.py | 19 +
.../dashboard/tool/test_manage_native_filters.py | 114 +
.../mcp_service/dataset/tool/test_dataset_tools.py | 55 +-
.../mcp_service/dataset/tool/test_query_dataset.py | 134 +-
.../semantic_layer/tool/test_get_table.py | 112 +
.../mcp_service/test_auth_user_resolution.py | 52 +-
tests/unit_tests/mcp_service/test_mcp_config.py | 21 +
tests/unit_tests/mcp_service/test_mcp_e2e_smoke.py | 12 +-
.../test_mcp_multi_issuer_identity_binding.py | 201 +
tests/unit_tests/mcp_service/test_mcp_server.py | 93 +-
tests/unit_tests/mcp_service/test_middleware.py | 395 +-
.../mcp_service/test_middleware_logging.py | 559 +-
.../mcp_service/test_pooled_screenshot.py | 22 +-
.../utils/test_sanitization_unicode_ordering.py | 192 +
.../middleware/test_legacy_prefix_redirect.py | 8 -
.../test_add_implicit_tags_mapper_isolation.py} | 29 +-
.../migrations/test_databend_secure_to_sslmode.py | 253 +
.../test_purge_audit_predecessor_index.py | 96 +
.../test_restore_pivot_table_percent_display.py | 286 +
.../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 | 34 +
.../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 | 298 +-
.../reports/notifications/slack_tests.py | 1763 +-
.../reports/notifications/webhook_tests.py | 54 +
tests/unit_tests/reports/schemas_test.py | 159 +
.../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 +
.../unit_tests/sql/dialects/hana_tests.py | 13 +-
tests/unit_tests/sql/parse_tests.py | 692 +-
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/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 +-
.../tasks/test_scheduler_soft_timeout.py | 68 +
tests/unit_tests/tasks/test_schemas.py | 69 +
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/map_type_tests.py | 6 +-
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 | 138 +
tests/unit_tests/utils/test_decorators.py | 60 +-
.../unit_tests/utils/test_encrypt_cbc_iv_reuse.py | 80 +
tests/unit_tests/utils/test_error_sanitization.py | 178 +
.../utils/test_playwright_migration_working.py | 199 -
tests/unit_tests/utils/test_report_execution.py | 209 +
tests/unit_tests/utils/test_screenshot_utils.py | 270 +-
tests/unit_tests/utils/webdriver_test.py | 772 +-
tests/unit_tests/versioning/test_collection.py | 3 +-
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 +-
1330 files changed, 99257 insertions(+), 35336 deletions(-)
create mode 100644 .github/workflows/enforce-single-migration-head.yml
create mode 100644 docs/docs/using-superset/number-formatting.mdx
create mode 100644 docs/docs/using-superset/version-history.mdx
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/dashboard/editmode.test.ts
create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/buildSortMetricOrderby.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/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/version-history/activity-log.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-chord/types/external.d.ts => plugin-chart-calendar/test/controlPanel.test.ts} (79%)
copy superset-frontend/plugins/{legacy-plugin-chart-chord/types/external.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-chord/types/external.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%)
copy 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-chord/types/external.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%)
rename superset-frontend/plugins/{legacy-plugin-chart-country-map/src/geojson.d.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-partition/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
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-chord/types/external.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
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
copy superset-frontend/plugins/{legacy-plugin-chart-chord/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-calendar/types/external.d.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-chord/types/external.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%)
rename 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-calendar/types/external.d.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/src/components/ErrorMessage/DatasourceSecurityAccessErrorMessage.test.tsx
create mode 100644 superset-frontend/src/components/ErrorMessage/DatasourceSecurityAccessErrorMessage.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
create mode 100644 superset-frontend/src/explore/exploreUtils/canOverwriteSlice.test.ts
create mode 100644 superset-frontend/src/explore/exploreUtils/canOverwriteSlice.ts
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/features/versionHistory/ActionRow.tsx
create mode 100644 superset-frontend/src/features/versionHistory/ChartVersionPreview.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/ChartVersionPreview.tsx
create mode 100644 superset-frontend/src/features/versionHistory/CurrentVersionSection.tsx
create mode 100644 superset-frontend/src/features/versionHistory/DashboardVersionHistory.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/DashboardVersionHistory.tsx
create mode 100644 superset-frontend/src/features/versionHistory/ExploreVersionHistory.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/ExploreVersionHistory.tsx
create mode 100644 superset-frontend/src/features/versionHistory/PreviewBanner.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/PreviewBanner.tsx
create mode 100644 superset-frontend/src/features/versionHistory/RelatedUpdateRow.tsx
create mode 100644 superset-frontend/src/features/versionHistory/RestoreConfirmModal.tsx
create mode 100644 superset-frontend/src/features/versionHistory/SaveGroupItem.tsx
create mode 100644 superset-frontend/src/features/versionHistory/VersionHistoryPanel.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/VersionHistoryPanel.tsx
create mode 100644 superset-frontend/src/features/versionHistory/api.test.ts
create mode 100644 superset-frontend/src/features/versionHistory/api.ts
create mode 100644 superset-frontend/src/features/versionHistory/canRestoreDashboard.ts
create mode 100644 superset-frontend/src/features/versionHistory/display.test.ts
create mode 100644 superset-frontend/src/features/versionHistory/display.ts
create mode 100644 superset-frontend/src/features/versionHistory/grouping.test.ts
create mode 100644 superset-frontend/src/features/versionHistory/grouping.ts
create mode 100644 superset-frontend/src/features/versionHistory/openRelated.test.ts
create mode 100644 superset-frontend/src/features/versionHistory/openRelated.ts
create mode 100644 superset-frontend/src/features/versionHistory/previewReselect.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/reducer.test.ts
create mode 100644 superset-frontend/src/features/versionHistory/reducer.ts
create mode 100644 superset-frontend/src/features/versionHistory/sessionLogMiddleware.test.ts
create mode 100644 superset-frontend/src/features/versionHistory/sessionLogMiddleware.ts
create mode 100644 superset-frontend/src/features/versionHistory/types.ts
create mode 100644 superset-frontend/src/features/versionHistory/useDashboardVersionPreview.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/useDashboardVersionPreview.ts
create mode 100644 superset-frontend/src/features/versionHistory/useVersionActions.test.tsx
create mode 100644 superset-frontend/src/features/versionHistory/useVersionActions.tsx
create mode 100644 superset-frontend/src/features/versionHistory/useVersionActivity.test.ts
create mode 100644 superset-frontend/src/features/versionHistory/useVersionActivity.ts
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/commands/deletion_retention/purge_policy.py
create mode 100644 superset/commands/report/slack_upgrade.py
create mode 100644 superset/common/chart_data_timing.py
create mode 100644 superset/common/form_data_query_context.py
create mode 100644 superset/databases/error_provenance.py
create mode 100644 superset/mcp_service/common/time_range_validation.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/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
create mode 100644 superset/migrations/versions/2026-07-31_00-00_f3a8c1d2e9b7_add_report_retry_state_columns.py
create mode 100644 superset/migrations/versions/2026-07-31_10-00_16755d4ca4ae_drop__customer_location_uc_take_2.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%)
create mode 100644 superset/migrations/versions/2026-08-05_00-00_1a27941d5352_restore_pivot_table_percent_display.py
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%)
create mode 100644 superset/migrations/versions/2026-08-06_00-00_c4a1b8e2d739_databend_secure_to_sslmode.py
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/sql/dialects/hana.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/report_execution.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
create mode 100644 tests/integration_tests/versioning/id_reuse_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
create mode 100644 tests/unit_tests/commands/dataset/refresh_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/common/test_query_context_processor_timing.py
create mode 100644 tests/unit_tests/databases/error_provenance_test.py
create mode 100644 tests/unit_tests/databases/oauth2_api_test.py
create mode 100644 tests/unit_tests/initialization/check_encryption_engine_test.py
create mode 100644 tests/unit_tests/mcp_service/common/test_time_range_validation.py
create mode 100644 tests/unit_tests/mcp_service/test_mcp_multi_issuer_identity_binding.py
create mode 100644 tests/unit_tests/mcp_service/utils/test_sanitization_unicode_ordering.py
copy tests/unit_tests/{mcp_service/test_pooled_screenshot.py => migrations/test_add_implicit_tags_mapper_isolation.py} (53%)
create mode 100644 tests/unit_tests/migrations/test_databend_secure_to_sslmode.py
create mode 100644 tests/unit_tests/migrations/test_purge_audit_predecessor_index.py
create mode 100644 tests/unit_tests/migrations/test_restore_pivot_table_percent_display.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
copy superset/daos/security.py => tests/unit_tests/sql/dialects/hana_tests.py (72%)
create mode 100644 tests/unit_tests/tasks/test_scheduler_soft_timeout.py
create mode 100644 tests/unit_tests/tasks/test_schemas.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/utils/test_report_execution.py
create mode 100644 tests/unit_tests/views/test_sql_lab_tab_state_views.py