This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch split-button-to-add-filters
in repository https://gitbox.apache.org/repos/asf/superset.git
discard 5a0c557ed6 Merge branch 'master' into split-button-to-add-filters
discard e1b6ee514e take 1
add c33d49ecab fix(dashboard): invalid button style in undo/redo button
(#30273)
add 2f0c9947ce fix(dashboard): Invalid owner's name displayed after
updates (#30272)
add cd8b56706b fix: unable to disallow csv upload on header menu (#30271)
add 930078b6f5 chore(explore): Medium font weight for section headers
(#30321)
add a3952051e1 feat(jinja): add option to format time filters using
strftime (#30323)
add 08145d88b9 style(explore): clarify ambiguously named "sort by" field
(#30254)
add e54353c4da docs: HTML embedding of charts/dashboards without
authentication (#30032)
add 0dcfe74bc6 build(deps): bump express from 4.19.2 to 4.20.0 in /docs
(#30227)
add 1441ad8546 chore(UPDATING.md): Add item to UPDATING describing
translations build flag (#30313)
add 78099b0d1f fix(migration): 87d38ad83218 failing on upgrade (#30275)
add a90aa055f5 chore: bump cypress to v 11 (#30262)
add 68594d97cb chore(helm): correct a typo (#30123)
add 6c2bd2a968 fix(table): Use extras in queries (#30335)
add 186e75f9b2 docs: Update cache.mdx, add needed space (#30333)
add 9b87ca9209 docs: sql-templating (#30337)
add ef9e5e523d fix: KeyError 'sql' when opening a Trino virtual dataset
(#30339)
add 36f3cd1f70 build(deps): bump path-to-regexp from 1.8.0 to 1.9.0 in
/superset-frontend/cypress-base (#30247)
add 994de1f812 build(deps): bump dompurify from 3.1.0 to 3.1.3 in
/superset-frontend (#30300)
add 038ef32454 fix(explore): Missing markarea component broke annotations
in echarts (#30348)
add ac66ae813f fix(db_engine_specs): add a few missing time grains to
Postgres spec (#30325)
add d4351668ba fix(CI): increase node JS heap size (#30340)
add f3e4347a8b build(deps): bump deck.gl from 9.0.24 to 9.0.28 in
/superset-frontend/plugins/legacy-preset-chart-deckgl (#30084)
add 55d9d57112 build(websocket): upgrade ESLint to v9 (#30359)
add bfdab40aaf build(deps-dev): bump @storybook/react-webpack5 from 8.1.11
to 8.2.9 in /superset-frontend/packages/superset-ui-demo (#30089)
add a095b08758 build(deps): update dompurify requirement from ^3.1.0 to
^3.1.2 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#28290)
add ee3a56714e docs: add HANA database logo in README.md (#30346)
add 710406aa76 feat: allow configuring an engine context manager (#30266)
add 30ca30370d chore(docs): fix an agreement error in caching docs (#30352)
add cc1bb69671 docs: Corrected Dremio connection string (#30315)
add de3af85ee1 feat(Digest): Add RLS at digest generation for Charts and
Dashboards (#30336)
add 046c096d86 fix(ECharts): Revert ECharts version bump (#30388)
add 0baac62099 build(deps-dev): bump sinon from 18.0.0 to 18.0.1 in
/superset-frontend (#30251)
add 39f1b714a5 refactor: Migration of AnnotationLayerControl to TypeScript
(#28346)
add 18c2376b50 feat(datasets): Allow swap dataset after deletion (#30364)
add 69d5f766a8 feat(auth): when user is not logged in, failure to access a
dashboard should redirect to login screen (#30380)
add ad2998598f fix: Pre-query normalization with custom SQL (#30389)
add 0e8fa54f81 fix: parse pandas pivot null values (#29898)
add 43721f1206 chore: split cypress files for less memory (#30354)
add abf2943e4d fix: Allows X-Axis Sort By for custom SQL (#30393)
add b7ac697dce build(deps): bump @emotion/react from 11.4.1 to 11.11.4 in
/superset-frontend (#27827)
add 20b1eabb9b build(deps): update @emotion/react requirement from ^11.4.1
to ^11.13.3 in /superset-frontend/packages/superset-ui-demo (#30086)
add 0fdcd8b27e chore(legacy-plugin-chart-map-box): bump supercluster to v8
(#30305)
add 36f7a3f524 fix: Incorrect hovered items in tooltips (#30405)
add 4f5f8fd216 chore: Merge description and reproduction steps in the
issue template (#30407)
add 92680b3fe4 fix(plugin/country/map): rectify naming for some Vietnamese
provinces (#29444)
add 4ac0bb1bed chore(View): Remove unnecessary theme view and defer basic
styles (#30128)
add 96b0bcfd78 chore: add logging for dashboards/get warnings (#30365)
add cc9fd88c0d chore: improve DML check (#30417)
add a3bfbd0186 chore: alter scripts/cypress_run to run one file per
command + retry (#30397)
add 63e17ca546 fix: CI remove cypress command --headed (#30429)
add 999dca76c1 fix: cypress on master doesn't work because of --parallel
flag (#30430)
add bdd50c7553 feat(dashboard): update tab drag and drop reordering with
positional placement and indicators for UI (#29395)
add 4834390e6a fix: Histogram chart not able to use decimal datatype
column (#30416)
add c7aeb2160e chore(Dashboard): Unblock Global Styles (#30440)
add daa4b1dc65 fix: battling cypress' dashboard feature (#30441)
add 9a5e8a4b70 chore: document upper bound for python lib 'holidays' >=
0.26 (#28747)
add 2e5016713a chore: log warnings for database tables api (#30410)
add 70ef40eb33 fix(language): pt_BR translation (#30406)
add 9f476b2ce2 fix(Package.json): Bump dayjs version (#30493)
add d1d9011f4d docs(dashboard): add docs for named and index colors
(#30445)
add 54679c5f49 build(deps-dev): bump @types/yargs from 17.0.32 to 17.0.33
in /superset-frontend (#30485)
add fa34e0fae3 build(deps): bump handlebars from 4.7.7 to 4.7.8 in
/superset-frontend (#30484)
add 8a68a96f77 build(deps): bump @docsearch/react from 3.6.1 to 3.6.2 in
/docs (#30483)
add 7468904968 build(deps-dev): bump @types/react from 18.3.5 to 18.3.10
in /docs (#30481)
add ee9ece8992 build(deps-dev): bump webpack-manifest-plugin from 4.1.1 to
5.0.0 in /superset-frontend (#30473)
add a8500abd8f build(deps): bump re-resizable from 6.9.11 to 6.10.0 in
/superset-frontend (#30477)
add f425c9d315 build(deps-dev): bump @typescript-eslint/eslint-plugin from
8.6.0 to 8.8.0 in /superset-websocket (#30464)
add e5ddb3bbd6 build(deps-dev): bump @cypress/react from 5.12.5 to 8.0.2
in /superset-frontend (#30459)
add 62350f2e5f build(deps-dev): bump eslint-plugin-file-progress from
1.4.0 to 1.5.0 in /superset-frontend (#30460)
add 15f3ea8d05 build(deps-dev): bump esbuild-loader from 4.1.0 to 4.2.2 in
/superset-frontend (#30487)
add da7a74e604 refactor(frontend): migrate 6 Enzyme-based tests to RTL,
part 2 (#30281)
add 553932dc72 build(deps): bump debug from 4.3.6 to 4.3.7 in
/superset-websocket/utils/client-ws-app (#30471)
add 7d0cb39f2a build(deps): bump @types/react-loadable from 5.5.6 to
5.5.11 in /superset-frontend (#30469)
add d3a208eb8a build(deps): bump @types/prop-types from 15.7.5 to 15.7.13
in /superset-frontend (#30467)
add 4c73b040c8 build(deps-dev): bump @types/node from 22.0.2 to 22.7.4 in
/superset-websocket (#30466)
add 8019c8b665 build(deps-dev): bump typescript-eslint from 8.6.0 to 8.8.0
in /superset-websocket (#30465)
add 657377b0ab build(deps): bump @rjsf/core from 5.19.4 to 5.21.1 in
/superset-frontend (#30461)
add f4094829c2 build(deps-dev): bump typescript from 5.5.4 to 5.6.2 in
/docs (#30476)
add bc8e9513bf docs: fix broken links in CI (#30496)
add a194393efc build(deps): bump express from 4.20.0 to 4.21.0 in
/superset-websocket/utils/client-ws-app (#30472)
add 84d3e3d25f build(deps-dev): bump typescript from 5.5.4 to 5.6.2 in
/superset-websocket (#30463)
add bd42e336c7 chore: add native filters to Covid Vaccines dashboard
(#30495)
add e0172a24b8 fix(embedded): sankey charts (#30491)
add 03146b21be fix: Open control with Simple tab selected when there is no
column selected (#30502)
add b2fd56094f fix(radar-chart): metric options not available & add `min`
option (#30349)
add 4dfee727e8 fix(sqllab): Remove redundant scrolling (#30500)
add 989744aba2 fix(plugin/echarts): correct enum values for LABEL_POSITION
map (#30509)
add 2a458a4802 fix(fe/src/dashboard): optional chaining for possibly
nullable parent attribute in LayoutItem type (#30442)
add 6217cb636f fix(examples): fix examples uri for sqlite (#30277)
add 2aa9348759 feat(be/cfg): replace deprecated imp.load_source with
importlib.util (#30390)
add b627011463 fix(explore): don't discard controls on deprecated (#30447)
add 0b34197815 fix: don't reformat generated queries (#30350)
add f314685a8e fix(Explore): Apply RLS at column values (#30490)
add 68c9a8177c fix(frontend/generator): fix failed Viz plugin build due to
missing JSDOM config and dep (#30069)
add 95325c4673 fix(imports): Error when importing charts / dashboards with
missing DB credentials (#30503)
add a098809294 feat(SQL Lab): better SQL parsing error messages (#30501)
add 163b71e019 fix(migration): replace unquote with double percentages
(#30532)
add aa94488065 chore(translations): Slovenian translation update (#30526)
add 2e887598ba chore(fe): bump webpack-related packages to v5 (#30528)
add 1f013055d2 refactor: Migration of Chart to TypeScript (#28370)
add a849c29288 chore: enable lint PT009 'use regular assert over
self.assert.*' (#30521)
add fc857d987b fix: Unable to parse escaped tables (#30560)
add 7b47e43fd0 fix: Horizon Chart are not working any more (#30563)
add 7a8e8f890f fix: Incorrect type in config.py (#30564)
add 211564a6da fix(dashboard-export): Fixes datasetId is not replaced
with datasetUuid in Dashboard export in 4.1.x (#30425)
add 318eff7327 fix(Jinja): Extra cache keys to consider vars with set
(#30549)
add 62b94d5abf fix(dev-server): Revert "chore(fe): bump webpack-related
packages to v5" (#30569)
add ef0ede7c13 fix: update html rendering to true from false (#30565)
add 0db59b45b8 fix: adhoc metrics (#30202)
add 9c12b1c7da fix(Jinja metric macro): Support Drill By and Excel/CSV
download without a dataset ID (#30443)
add 9a2b1a5cf7 chore(fe): uplift FE packages to latest version (#30357)
add 47c1e09c75 fix: `sqlparse` fallback for formatting queries (#30578)
add 0e9c0f621a feat(formatting): Add memory units adaptive formatter to
format bytes (#30559)
add 6ede3271ff fix(SQL Lab): hang when result set size is too big (#30522)
add 2c3ba95768 fix(filters): Adds a fix for saving time range
adhoc_filters (#30581)
add 55f18a34a9 build(deps): bump cookie, @applitools/eyes-storybook and
express in /superset-frontend (#30572)
add 7132d5a86a chore(number-formatter): upgrade pretty-ms to 9.1.0 (#30599)
add d6b2e86155 fix: Set correct amount of steps to avoid confusing logs
while loading examples (#30606)
add 4cac7feb67 feat: use dialect when tokenizing (#30614)
add 362948324c fix(Filters): Apply native & cross filters on common
columns (#30438)
add 74b63a4ba4 fix(docs): leading whitespace line is causing page title
and header to be malformed (#30616)
add 53a121d9e1 fix(docs): address two linkinator failures (#30617)
add c8edd1fb25 fix: First item hovered on stacked bar (#30628)
add bad48d0722 fix: Module is not defined in Partition chart (#30626)
add 950a21a020 docs: Clarification on which command to use on which Ubuntu
version. (#30523)
add 47c5334502 chore: Enable suppressing default chart context menu
(#30613)
add d9a1db044a refactor(Dashboard): Native filters form update endpoint
(#30609)
add e0ebeacd4d fix: Domain 'undefined' error in Storybook (#30661)
add 4a5d978abb refactor: Split FastVizSwitcher into multiple files for
readability (#30662)
add f8fd2ec4ad docs: frontend long build time (#30655)
add 4d5f70c694 chore: add link to Superset when report error (#30576)
add 4433ef47fe refactor: Migrate HeaderActionsDropdown to typescript
(#30568)
add 6fef6ac3a2 fix: Link Checking (#30659)
add 87deb19bcb fix(chart): Table and page entries misaligned (#30680)
add 34131c2948 build(deps): bump http-proxy-middleware from 2.0.6 to 2.0.7
in /docs (#30683)
add 16981d6316 fix(dashboard): Include `urlParams` in the screenshot
generation (#30675)
add ee3befb9fc fix: bump FAB to 4.5.2 (#30688)
add c9ff09a418 fix: Nested transaction is inactive when embedding
dashboard (#30699)
add 19f840cde7 fix(Dashboard): DatePicker to not autoclose modal (#30702)
add e4d8f7af61 refactor: Migration publishedStatus to typescript (#30653)
add ec2d3307fd refactor: Migrate UndoRedoKeyListeners to typescript
(#30654)
add 3d443e0126 feat(number-format): Add duration formatter with colon
notation (#30593)
add 1c56857f0c feat(db_engine_specs): added support for Denodo Virtual
DataPort (#29927)
add a12ccf2c1d fix(Jinja): Extra cache keys for Jinja columns (#30715)
add 299cea0601 build(deps-dev): bump http-proxy-middleware from 2.0.6 to
2.0.7 in /superset-frontend (#30709)
add c03bf80864 feat(helm-chart): Add extraLabels to all resources (#30710)
add 09d3f60d85 fix(Jinja): Extra cache keys for calculated columns and
metrics using Jinja (#30735)
add eecb537808 ci: Add Python 3.11 images to Docker Hub (#30733)
add b9ac800bfb docs(templating): Replace "true" with "1 = 1" and explain
its purpose (#30743)
add fbd7c0ce01 docs: rename Twitter to X in the INTHEWILD.md (#30738)
add bdb79a0630 build(deps): bump cookie, cookie-parser and express in
/superset-websocket/utils/client-ws-app (#30571)
add 98c0fdc7e8 build(deps-dev): bump webpack from 5.94.0 to 5.95.0 in
/docs (#30480)
add f2a9f31135 build(deps): bump cookie from 0.6.0 to 0.7.0 in
/superset-websocket (#30536)
add 576ad85eb4 chore(fe): replace deprecate aliased Jest matchers with
corresponding substituents (#30355)
add 60cd2550a7 feat: cancel impala query on stop (#30412)
add a74ef412fb fix(country-map): Rename incorrect Vietnam province name
for Country Map (#30608)
add eb14c762af docs: Update INTHEWILD.md with Medic (#30749)
add 73768f6313 fix(explore): column data type tooltip format (#30588)
add d5a98e0189 chore(Dashboard): Simplify scoping logic for cross/native
filters (#30719)
add e79778ac6d feat(dataset API): Add parameter to optionally render Jinja
macros in API response (#30721)
add 4511e1c28d docs: add Sarathi to users list (#30753)
add dc9dd5fabf docs: Update INTHEWILD.md (#30747)
add 9bb69ab311 docs: Adding link to StarRocks official docs (#30757)
add bc5da631c8 refactor(Switch): Upgrade Switch to Ant Design 5 (#30731)
add 849d426e06 feat(oauth): adding necessary changes to support bigquery
oauth (#30674)
add a729f04695 fix(chart): apply number format in Box Plot tooltip only
where necessary (#27142)
add 58edc79820 fix(mssql db_engine_spec): adds uniqueidentifier to
column_type_mappings (#30618)
add 31aad28a31 refactor: Migrate SliceAdder to typescript (#30697)
add 2518190b2d style(databases-upload-form): update Upload Form cosmetics
(#30758)
add 3e29777526 fix(Dashboard): Sync/Async Dashboard Screenshot Generation
and Default Cache (#30755)
add 402c29c2bc fix: catalog migration w/o connection (#30773)
add f19c4280c0 chore: bump werkzeug to address vulnerability (#30729)
add fa9d2cefcc build(deps): bump JustinBeckwith/linkinator-action from
1.10.4 to 1.11.0 (#30802)
add 5d42dfb1e6 build(deps-dev): bump eslint-import-resolver-typescript
from 3.6.1 to 3.6.3 in /superset-frontend (#30805)
add ccc2f66e92 build(deps-dev): bump eslint-plugin-testing-library from
6.2.2 to 6.4.0 in /superset-frontend (#30810)
add b3edbe45cf build(deps): bump ace-builds from 1.35.4 to 1.36.3 in
/superset-frontend (#30804)
add ab95bff7b6 build(deps): bump @rjsf/validator-ajv8 from 5.19.4 to
5.22.3 in /superset-frontend (#30811)
add 3ec3f0a610 fix(explore): Update tooltip copy for rendering html in
tables and pivot tables (#30682)
add d466383df2 fix: warning emits an error (#28524)
add b02d18a39e fix(plugin-chart-echarts): sort tooltip correctly (#30819)
add 29e3f4bcc4 feat: allow exporting all tabs to a single PDF in report
(#30694)
add 5820d31b5c fix(TimezoneSelector): Failing unit tests due to timezone
change (#30828)
add 64f8140731 build(deps): bump antd from 5.20.5 to 5.21.6 in /docs
(#30794)
add 305b6df6e3 feat(oauth2): add support for trino (#30081)
add f85175e16d build(deps): bump webpack from 5.80.0 to 5.96.1 in
/superset-frontend/cypress-base (#30817)
add b73ee7f2e0 build(deps-dev): bump prettier-plugin-packagejson from
2.5.2 to 2.5.3 in /superset-frontend (#30809)
add 2a96a9c734 build(deps-dev): bump typescript-eslint from 8.8.0 to
8.12.2 in /superset-websocket (#30781)
add 8b815a3aac build(deps-dev): bump eslint-plugin-react from 7.33.2 to
7.37.2 in /superset-frontend (#30803)
add 4b33353165 build(deps): bump deck.gl from 9.0.28 to 9.0.34 in
/superset-frontend/plugins/legacy-preset-chart-deckgl (#30786)
add e01c8792ec build(deps): bump winston from 3.13.0 to 3.15.0 in
/superset-websocket (#30784)
add 41464931a4 build(deps): bump uuid from 10.0.0 to 11.0.2 in
/superset-websocket (#30782)
add 54cc69a382 build(deps-dev): bump eslint from 9.11.0 to 9.14.0 in
/superset-websocket (#30835)
add a91daab1f7 docs: Update INTHEWILD.md (#30822)
add f0b86f877f build(deps-dev): bump webpack from 5.95.0 to 5.96.1 in
/docs (#30832)
add 0b263697ca chore: Revert "build(deps): bump
JustinBeckwith/linkinator-action from 1.10.4 to 1.11.0" (#30838)
add d1bc986d93 docs: Update INTHEWILD.md with 2070Health Org (#30824)
add 2eadc1f086 build(deps): bump @saucelabs/theme-github-codeblock from
0.2.3 to 0.3.0 in /docs (#30799)
add fb6ad3240f build(deps-dev): bump typescript from 5.6.2 to 5.6.3 in
/docs (#30795)
add 5a59dcf06e build(deps-dev): bump @types/react from 18.3.10 to 18.3.12
in /docs (#30793)
add 6b9122bb3b build(deps): bump @mdx-js/react from 3.0.1 to 3.1.0 in
/docs (#30796)
add 63b97ab76d build(deps): bump @docsearch/react from 3.6.2 to 3.6.3 in
/docs (#30797)
add d217a78857 chore(actions): Bump Linkinator in superset-docs-verify.yml
(#30846)
add 3be6cef597 chore(scripts): purge node_modules folder on `npm prune`
(#30255)
add 8c7a3bf85a fix(time_comparison): Allow deleting dates when using
custom shift (#30848)
add 710c6f9412 chore: Chart context menu permissions cleanup (#30854)
add de8282cea0 fix(package.json): Pin luxon version to unblock master
(#30859)
add 5b2f005e80 chore(FilterBar): Filter bar accessibility (#30812)
add dd39138e6e fix(chart data): removing query from /chart/data payload
when accessing as guest user (#30858)
add 88eb95c39a docs: Updating 4.1 Release Notes (#30865)
add 683ed0d943 chore(GHA): Making the Linkinator STEP non-blocking, rather
than the JOB. (#30847)
add f4c36a6d05 fix(Dashboard): Native & Cross-Filters Scoping Performance
(#30881)
add 57af97d1a2 perf: Prevent redundant calls to getRelevantDataMask
(#30883)
add 0af124eaae feat: add a script to check environment software versions
(#29609)
add a1f86baab2 docs: make it more clear that GLOBAL_ASYNC_QUERIES is
experimental/beta (#30770)
add 24b8a94c2c fix(docs): add missing bracket in openID config (#30885)
add 16ad5a8f5a build(deps): bump @algolia/client-search from 4.24.0 to
5.12.0 in /docs (#30792)
add 88934265c0 chore: update help text copy on dataset settings (#30775)
add 4d50d4944f chore(AntD5): touchup on component imports/exports, theming
ListViewCard (#29545)
add 629bbc5d4d build(deps): bump remark-gfm from 3.0.1 to 4.0.0 in
/superset-frontend (#30806)
add 0e165c1a21 fix: Graph chart colors (#30851)
add c2885a166e fix: Exception handling for SQL Lab views (#30897)
add ac3a10d8f1 fix: don't show metadata for embedded dashboards (#30875)
add 4e8eba802a feat: add logging durations for screenshot async service
(#30884)
add 6e665c3e07 refactor(Avatar): Migrate Avatar to Ant Design 5 (#30740)
add a7069e60e2 refactor(input): Migrate Input component to Ant Design 5
(#30730)
add 58f9be9b85 fix(empty dashboards): Allow downloading a screenshot of an
empty dashboard (#30767)
add f38f5ac3cf chore(ci): add tai and michael to helm owners (#30925)
add a3e89cbfab fix(helm): use submodule on helm release action (#30924)
add 87c73175a7 docs: add Free2Move to INTHEWILD.md (#30930)
add df479940a6 fix: blocks UI elements on right side (#30886)
add 1991d1f6e5 chore(deps): Migrate from `crate[sqlalchemy]` to
`sqlalchemy-cratedb` (#29243)
add c648cb2de5 chore: update change log, UPDATING.md and bug-report.yml
for 4.1 release (#30915)
add 824eaf84be chore(docs): Update list of supported databases to include
CrateDB (#30946)
add e528cb48c4 feat(trino,presto): add missing time grains (#30926)
add 1b63b8f3c7 fix(Dashboard): Exclude edit param in async screenshot
(#30962)
add c6685a706d fix(Card): Use correct class names for Ant Design 5 Card
component (#30964)
add b84e5250f1 chore(Accessibility): Fix accessibility for 'Show x
entries' dropdown in tables (#30818)
add 9437d9cf5e build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in
/superset-frontend/cypress-base (#30969)
add 4f899dd164 fix(release validation): scripts now support RSA and EDDSA
keys. (#30967)
add 4c072b8314 build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs
(#30970)
add d22b7860a4 chore: add performance information to tooltip (#30948)
add 1102d41842 fix(helm-chart): Fix broken PodDisruptionBudget due to
introduction of extraLabels. (#30966)
add d1feef51c7 chore(helm): bumping app version to 4.1.1 in helm chart
(#30918)
add fa7b66424c chore: add unit tests for `is_mutating()` (#31021)
add 1e224398e1 chore(🦾): bump python numexpr 2.10.0 -> 2.10.1 (#31006)
add ae04959175 chore(🦾): bump python cffi 1.16.0 -> 1.17.1 (#31002)
add 3c326598a8 chore(🦾): bump python flask-babel subpackage(s) (#31000)
add 90572be95a fix(Dashboard): Retain colors when color scheme not set
(#30646)
add 9e5b568cc9 fix(explore): verified props is not updated (#31008)
add f58b5295a9 chore: publish wheels (#30981)
add 0b647b2dcc docs: Embedded sdk (#30972)
add 8905508d8f fix(imports): import query_context for imports with charts
(#30887)
add 7d60a88048 docs: Update doc about CSV upload (#30867)
add ccce9abf57 chore(🦾): bump python cattrs 23.2.3 -> 24.1.2 (#30998)
add 832fed1db5 fix(dataset): use sqlglot for DML check (#31024)
add f8adaf66c1 chore: Refactor dashboard header to func component (#31029)
add abf3790ea6 chore: Cleanup code related to MetadataBar, fix types
(#31030)
add e0deb704f9 feat: make ephemeral env use supersetbot + deprecate
build_docker.py (#30870)
add 67ad7da5cc fix: ephemeral environments missing env var (#31035)
add 91301bcd5b fix(Dashboard): Ensure shared label colors are updated
(#31031)
add 33a9817388 chore(🦾): bump python pandas subpackage(s) (#31004)
add e9e2c0bee8 chore(legacy-plugin-chart-map-box): replace
viewport-mercator-project with @math.gl/web-mercator (#30651)
add c5f6cc6382 chore(🦾): bump python et-xmlfile 1.1.0 -> 2.0.0 & remove
pyhive[hive] from requirements/development.in (#31040)
add 1978cde4f1 chore(🦾): bump python pyjwt 2.8.0 -> 2.10.0 (#31042)
add f551f5b7b6 chore(🦾): bump python idna 3.7 -> 3.10 (#31041)
add a80803566d chore(🦾): bump python marshmallow 3.21.2 -> 3.23.1 (#31045)
add 8c1c2570b3 chore(🦾): bump python nh3 0.2.17 -> 0.2.18 (#31054)
add 078257dd1b docs: updated the install process in pypi.mdx (#31044)
add d69da5f0f5 chore(🦾): bump python flask-wtf 1.2.1 -> 1.2.2 (#31052)
add bf42ea70ba chore(🦾): bump python cron-descriptor 1.4.3 -> 1.4.5
(#31046)
add 3aa8f32ca9 chore(🦾): bump python googleapis-common-protos 1.63.0 ->
1.66.0 (#31049)
add 1e4098a29e chore(🦾): bump python ruff 0.4.5 -> 0.8.0 (#31001)
add 824aca85d0 chore(🦾): bump python charset-normalizer 3.3.2 -> 3.4.0
(#31064)
add b24323d500 chore(🦾): bump python pre-commit 3.7.1 -> 4.0.1 (#31050)
add 5c87fee282 chore(🦾): bump python deprecated 1.2.14 -> 1.2.15 (#31056)
add a3d2588313 chore(🦾): bump python apispec subpackage(s) (#31062)
add 9a7a84c7a0 chore(🦾): bump python importlib-resources 6.4.0 -> 6.4.5
(#31067)
add 27deeb2f51 chore(🦾): bump python proto-plus 1.22.2 -> 1.25.0 (#31069)
add 673754d16e chore(🦾): bump python tqdm 4.66.4 -> 4.67.1 (#31068)
add e092e6002d chore(🦾): bump python pyyaml 6.0.1 -> 6.0.2 (#31066)
add b8aade776b chore(🦾): bump python kombu 5.3.7 -> 5.4.2 (#31074)
add 814c3dfecc chore(🦾): bump python cachetools 5.3.3 -> 5.5.0 (#31071)
add f68c2b2454 chore(🦾): bump python amqp 5.2.0 -> 5.3.1 (#31073)
add 14e81d0a9a chore(🦾): bump python sqlalchemy-utils subpackage(s)
(#31048)
add 838d47d578 chore(🦾): bump python google-cloud-core 2.3.2 -> 2.4.1
(#31078)
add 7376dfc6e9 chore(🦾): bump python pyhive subpackage(s) (#31079)
add 454f143661 chore(🦾): bump python pyasn1-modules 0.4.0 -> 0.4.1 (#31076)
add 9837b4a61e chore(🦾): bump python fonttools 4.51.0 -> 4.55.0 (#31075)
add 5bddc81f60 chore(🦾): bump python cfgv 3.3.1 -> 3.4.0 (#31077)
add 429c18f9e8 chore(🦾): bump python coverage subpackage(s) (#31083)
add 87504056fe chore(🦾): bump python kiwisolver 1.4.5 -> 1.4.7 (#31084)
add 9dfa8d5f8f chore(🦾): bump python sqlalchemy-bigquery 1.11.0 -> 1.12.0
(#31085)
add 93c35a7ba5 chore(🦾): bump python pyproject-hooks 1.0.0 -> 1.2.0
(#31086)
add 6fcc282a4e chore(🦾): bump python pydata-google-auth 1.7.0 -> 1.9.0
(#31088)
add d206a20ce7 chore(🦾): bump python certifi 2024.2.2 -> 2024.8.30 (#31089)
add 4dc8cce8e8 chore(🦾): bump python trino 0.328.0 -> 0.330.0 (#31081)
add b665254f39 chore(🦾): bump python db-dtypes 1.2.0 -> 1.3.1 (#31082)
add 94d3774d9e chore(🦾): bump python isodate 0.6.1 -> 0.7.2 (#31087)
add 5aee59cc3a chore(🦾): bump python tomlkit 0.12.5 -> 0.13.2 (#31090)
add 55f0713a2f chore(🦾): bump python mako 1.3.5 -> 1.3.6 (#31097)
add e3bdfb5def chore(🦾): bump python sshtunnel subpackage(s) (#31092)
add 40fe05c5e2 chore(🦾): bump python jsonpath-ng 1.6.1 -> 1.7.0 (#31093)
add 9067371234 chore(🦾): bump python chardet 5.1.0 -> 5.2.0 (#31094)
add 0d346d4414 chore(🦾): bump python pytest-cov 5.0.0 -> 6.0.0 (#31096)
add 043c585008 chore(🦾): bump python pyproject-api 1.6.1 -> 1.8.0 (#31098)
add cf134ab3aa chore(🦾): bump python wheel 0.43.0 -> 0.45.1 (#31099)
add c4a56c3f6e chore(🦾): bump python sqloxide 0.1.43 -> 0.1.51 (#31100)
add 83924f7e10 chore(🦾): bump python pluggy 1.4.0 -> 1.5.0 (#31101)
add ca63760a4b chore(🦾): bump python markdown 3.6 -> 3.7 (#31102)
add ca2f0288e5 chore(🦾): bump python dnspython 2.6.1 -> 2.7.0 (#31105)
add ef4e03c9fe chore(🦾): bump python psutil 6.0.0 -> 6.1.0 (#31106)
add 9a2be95159 chore(🦾): bump python google-auth 2.29.0 -> 2.36.0 (#31107)
add 6488ced3d3 chore(🦾): bump python croniter 2.0.5 -> 5.0.1 (#31091)
add 9ff9e0299b chore(🦾): bump python cycler 0.11.0 -> 0.12.1 (#31112)
add 3fd23508bc chore(🦾): bump python grpcio-status subpackage(s) (#31114)
add c62f722f99 chore(🦾): bump python mysqlclient 2.2.4 -> 2.2.6 (#31113)
add ba99980cf4 refactor(List): Upgrade List from antdesign4 to antdesign5
(#30963)
add 7e8c77e636 fix: touch helm/ folder to trigger doc deploy in CI (#31148)
add decaba72c3 fix: try to re-enable gh-pages (#31152)
add 1e26c34758 chore(🦾): bump python sqlparse 0.5.0 -> 0.5.2 (#31119)
add 312dc1c749 chore(🦾): bump python prompt-toolkit 3.0.44 -> 3.0.48
(#31121)
add ff282492a1 fix: Revert "feat(trino): Add functionality to upload data
(#29164)" (#31151)
add 0560c2615d chore(🦾): bump python async-timeout 4.0.3 -> 5.0.1 (#31122)
add 9849171b0e take 1
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 (5a0c557ed6)
\
N -- N -- N refs/heads/split-button-to-add-filters (9849171b0e)
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 | 3 +
.gitattributes | 1 +
.github/CODEOWNERS | 4 +-
.github/ISSUE_TEMPLATE/bug-report.yml | 11 +-
.github/actions/setup-backend/action.yml | 2 +-
.github/workflows/bashlib.sh | 21 +-
.github/workflows/bump-python-package.yml | 11 +-
.github/workflows/dependency-review.yml | 2 +-
.github/workflows/docker.yml | 2 +-
.github/workflows/ephemeral-env.yml | 134 +-
.github/workflows/superset-docs-verify.yml | 13 +-
.github/workflows/superset-e2e.yml | 4 +-
.github/workflows/superset-helm-release.yml | 2 +-
.github/workflows/superset-python-presto-hive.yml | 1 +
.github/workflows/tag-release.yml | 2 +-
.pre-commit-config.yaml | 14 +-
CHANGELOG.md | 1 +
CHANGELOG/4.1.0.md | 995 +
CODE_OF_CONDUCT.md | 6 +-
Dockerfile | 16 +-
README.md | 4 +-
RELEASING/README.md | 5 +-
RELEASING/release-notes-4-1/README.md | 4 +-
RELEASING/verify_release.py | 38 +-
RESOURCES/INTHEWILD.md | 21 +-
UPDATING.md | 14 +-
docker-compose.yml | 1 +
docker/docker-frontend.sh | 5 +
docker/docker-init.sh | 6 +-
docs/README.md | 1 +
docs/docs/configuration/cache.mdx | 6 +-
docs/docs/configuration/databases.mdx | 48 +-
docs/docs/configuration/networking-settings.mdx | 58 +-
docs/docs/configuration/sql-templating.mdx | 14 +-
docs/docs/contributing/development.mdx | 44 +-
docs/docs/faq.mdx | 9 +-
docs/docs/installation/docker-builds.mdx | 6 +-
docs/docs/installation/docker-compose.mdx | 8 +
docs/docs/installation/pypi.mdx | 23 +-
docs/docs/using-superset/exploring-data.mdx | 17 +-
docs/package.json | 16 +-
docs/src/resources/data.js | 5 +
docs/static/img/databases/denodo.png | Bin 0 -> 17428 bytes
docs/static/img/tutorial/add-data-upload.png | Bin 92207 -> 0 bytes
docs/static/img/tutorial/allow-file-uploads.png | Bin 0 -> 141937 bytes
.../img/tutorial/csv_to_database_configuration.png | Bin 147642 -> 253830
bytes
docs/static/img/tutorial/parse_dates_column.png | Bin 94557 -> 95136 bytes
docs/static/img/tutorial/upload_a_csv.png | Bin 104809 -> 71360
bytes
docs/static/resources/openapi.json | 102 +-
docs/yarn.lock | 708 +-
helm/superset/Chart.yaml | 4 +-
helm/superset/README.md | 3 +-
helm/superset/templates/configmap-superset.yaml | 3 +
helm/superset/templates/deployment-beat.yaml | 6 +
helm/superset/templates/deployment-flower.yaml | 6 +
helm/superset/templates/deployment-worker.yaml | 6 +
helm/superset/templates/deployment-ws.yaml | 6 +
helm/superset/templates/deployment.yaml | 6 +
helm/superset/templates/hpa-node.yaml | 3 +
helm/superset/templates/hpa-worker.yaml | 3 +
helm/superset/templates/ingress.yaml | 3 +
helm/superset/templates/init-job.yaml | 4 +
helm/superset/templates/pdb-beat.yaml | 3 +
helm/superset/templates/pdb-flower.yaml | 3 +
helm/superset/templates/pdb-worker.yaml | 3 +
helm/superset/templates/pdb-ws.yaml | 3 +
helm/superset/templates/pdb.yaml | 3 +
helm/superset/templates/secret-env.yaml | 3 +
.../superset/templates/secret-superset-config.yaml | 3 +
helm/superset/templates/secret-ws.yaml | 3 +
helm/superset/templates/service-flower.yaml | 3 +
helm/superset/templates/service-ws.yaml | 3 +
helm/superset/templates/service.yaml | 3 +
helm/superset/templates/serviceaccount.yaml | 3 +
helm/superset/values.yaml | 8 +-
pyproject.toml | 14 +-
requirements/base.txt | 118 +-
requirements/development.in | 2 +-
requirements/development.txt | 121 +-
scripts/build_docker.py | 294 -
scripts/check-env.py | 222 +
scripts/cypress_run.py | 121 +-
superset-embedded-sdk/README.md | 29 +
superset-frontend/.eslintrc.js | 2 -
superset-frontend/cypress-base/cypress.config.ts | 10 +-
.../cypress/e2e/dashboard/editmode.test.ts | 585 +-
.../e2e/dashboard/horizontalFilterBar.test.ts | 248 +
.../dashboard/nativeFilters.noInitState.test.ts | 287 +
.../cypress/e2e/dashboard/nativeFilters.test.ts | 566 +-
.../e2e/dashboard/shared_dashboard_functions.ts | 148 +
.../cypress-base/cypress/e2e/dashboard/utils.ts | 18 +-
.../cypress/e2e/explore/AdhocMetrics.test.ts | 2 +-
.../cypress/e2e/explore/control.test.ts | 2 +-
.../e2e/explore/visualizations/table.test.ts | 4 +-
.../cypress-base/cypress/support/directories.ts | 10 +-
superset-frontend/cypress-base/package-lock.json | 790 +-
superset-frontend/cypress-base/package.json | 4 +-
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 7436 +++-
superset-frontend/package.json | 49 +-
.../plugin-chart/templates/jest.config.erb | 1 +
.../plugin-chart/templates/package-lock.erb | 34688 ++++++++++---------
.../generators/plugin-chart/templates/package.erb | 1 +
.../templates/src/plugin/controlPanel.erb | 1 -
.../superset-ui-chart-controls/package.json | 6 +-
.../src/components/ColumnOption.tsx | 18 +-
.../src/components/MetricOption.tsx | 7 +-
.../src/components/labelUtils.tsx | 10 +-
.../superset-ui-chart-controls/src/constants.ts | 3 +
.../src/sections/timeComparison.tsx | 28 +-
.../src/shared-controls/customControls.tsx | 22 +-
.../src/shared-controls/dndControls.tsx | 7 +-
.../src/shared-controls/sharedControls.tsx | 9 +-
.../superset-ui-chart-controls/src/types.ts | 4 +
.../src/utils/D3Formatting.ts | 3 +
.../src/utils/colorControls.ts} | 24 +-
.../superset-ui-chart-controls/src/utils/index.ts | 1 +
.../src/utils/isSortable.ts | 51 +
.../test/components/ColumnOption.test.tsx | 17 +
.../test/components/labelUtils.test.tsx | 2 +-
.../test/utils/colorControls.test.ts | 112 +
.../test/utils/isSortable.test.ts | 70 +
.../packages/superset-ui-core/package.json | 40 +-
.../src/chart/models/ChartMetadata.ts | 7 +
.../src/color/CategoricalColorNamespace.ts | 40 +-
.../src/color/CategoricalColorScale.ts | 136 +-
.../src/color/LabelsColorMapSingleton.ts | 97 +-
.../hooks/useChangeEffect/useChangeEffect.test.ts | 10 +-
.../useComponentDidMount.test.ts | 4 +-
.../useComponentDidUpdate.test.ts | 4 +-
.../factories/createDurationFormatter.ts | 7 +-
...rationFormatter.ts => createMemoryFormatter.ts} | 32 +-
.../superset-ui-core/src/number-format/index.ts | 1 +
.../superset-ui-core/src/query/types/Dashboard.ts | 36 +
.../superset-ui-core/src/query/types/Metric.ts | 1 +
.../superset-ui-core/src/query/types/Query.ts | 1 +
.../superset-ui-core/src/utils/featureFlags.ts | 2 +
.../test/chart/clients/ChartClient.test.ts | 2 +-
.../components/createLoadableRenderer.test.tsx | 17 +-
.../test/color/CategoricalColorNameSpace.test.ts | 59 +
.../test/color/CategoricalColorScale.test.ts | 108 +-
.../test/color/LabelsColorMapSingleton.test.ts | 96 +-
.../test/connection/SupersetClient.test.ts | 8 +-
.../test/connection/SupersetClientClass.test.ts | 37 +-
.../test/connection/callApi/callApi.test.ts | 78 +-
.../callApi/callApiAndParseWithTimeout.test.ts | 13 +-
.../test/connection/callApi/parseResponse.test.ts | 14 +-
.../superset-ui-core/test/models/Registry.test.ts | 22 +-
.../factories/createDurationFormatter.test.ts | 67 +-
.../factories/createMemoryFormatter.test.ts | 94 +
.../test/number-format/index.test.ts | 2 +
.../query/api/legacy/getDatasourceMetadata.test.ts | 4 +-
.../test/query/api/legacy/getFormData.test.ts | 4 +-
.../test/query/api/setupClientForTest.ts | 1 +
.../test/query/api/v1/getChartData.test.ts | 4 +-
.../test/query/api/v1/makeApi.test.ts | 4 +-
.../test/query/buildQueryContext.test.ts | 2 +-
.../test/query/types/Dashboard.test.ts | 28 +
.../superset-ui-core/test/style/index.test.tsx | 10 +-
.../test/time-comparison/fetchTimeRange.test.ts | 20 +-
.../test/translation/TranslatorSingleton.test.ts | 2 +-
.../packages/superset-ui-demo/package.json | 6 +-
.../superset-ui-switchboard/package-lock.json | 13 -
.../src/switchboard.test.ts | 2 +-
.../plugins/legacy-plugin-chart-chord/src/Chord.js | 4 +-
.../legacy-plugin-chart-country-map/README.md | 2 +-
.../scripts/Country Map GeoJSON Generator.ipynb | 154 +-
.../src/CountryMap.js | 1 +
.../src/countries/vietnam.geojson | 24 +-
.../src/Histogram.jsx | 3 +-
.../src/controlPanel.ts | 6 +
.../legacy-plugin-chart-map-box/package.json | 4 +-
.../legacy-plugin-chart-map-box/src/MapBox.jsx | 4 +-
.../src/transformProps.js | 4 +-
.../legacy-plugin-chart-partition/package.json | 2 +-
.../legacy-plugin-chart-partition/src/Partition.js | 2 +-
.../plugins/legacy-plugin-chart-rose/src/Rose.js | 9 +-
.../src/SankeyLoop.js | 4 +-
.../legacy-plugin-chart-sankey/src/Sankey.js | 3 +-
.../legacy-plugin-chart-world-map/src/WorldMap.js | 11 +-
.../legacy-preset-chart-deckgl/package.json | 2 +-
.../src/CategoricalDeckGLContainer.tsx | 16 +-
.../src/layers/Grid/Grid.tsx | 3 +-
.../src/layers/Hex/Hex.tsx | 3 +-
.../plugins/legacy-preset-chart-nvd3/package.json | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.js | 4 +-
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../src/BoxPlot/transformProps.ts | 10 +-
.../src/Bubble/transformProps.ts | 7 +-
.../src/Funnel/transformProps.ts | 3 +-
.../src/Gauge/transformProps.ts | 5 +-
.../src/Graph/transformProps.ts | 39 +-
.../src/Histogram/buildQuery.ts | 1 -
.../src/MixedTimeseries/transformProps.ts | 91 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 3 +-
.../src/Radar/controlPanel.tsx | 26 +-
.../src/Radar/transformProps.ts | 35 +-
.../plugin-chart-echarts/src/Radar/types.ts | 5 +-
.../src/Sankey/transformProps.ts | 4 +-
.../src/Timeseries/transformProps.ts | 61 +-
.../src/Treemap/transformProps.ts | 16 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 4 +
.../plugins/plugin-chart-echarts/src/constants.ts | 4 +-
.../plugin-chart-echarts/src/utils/series.ts | 19 +
.../test/Graph/transformProps.test.ts | 22 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 27 +
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../src/plugin/controlPanel.tsx | 18 +-
.../plugins/plugin-chart-table/package.json | 6 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 23 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 22 +-
.../plugin-chart-table/src/controlPanel.tsx | 34 +-
.../plugin-chart-table/test/buildQuery.test.ts | 43 +
.../src/chart/WordCloud.tsx | 10 +-
.../spec/fixtures/mockDashboardFormData.ts | 5 +-
.../spec/fixtures/mockDashboardInfo.js | 1 +
.../spec/fixtures/mockDashboardState.js | 2 +-
.../spec/fixtures/mockNativeFilters.ts | 1 +
.../spec/fixtures/mockSliceEntities.js | 133 +-
superset-frontend/spec/helpers/testing-library.tsx | 2 +-
superset-frontend/src/GlobalStyles.tsx | 2 +-
.../ColumnElement/ColumnElement.test.tsx | 28 +-
.../src/SqlLab/components/ResultSet/index.tsx | 38 +-
.../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 6 +-
.../SqlLab/components/SouthPane/SouthPane.test.tsx | 2 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 9 +-
.../AlteredSliceTag/AlteredSliceTag.test.jsx | 2 +-
.../components/Avatar/Avatar.stories.tsx} | 29 +-
.../Owner.ts => components/Avatar/Avatar.test.tsx} | 14 +-
.../components/{MetadataBar => Avatar}/index.tsx | 14 +-
superset-frontend/src/components/Card/index.tsx | 6 +-
.../src/components/Chart/{Chart.jsx => Chart.tsx} | 158 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 21 +-
.../Chart/ChartContextMenu/usePermissions.ts | 51 +
.../src/components/Chart/ChartErrorMessage.tsx | 12 +-
.../src/components/Chart/ChartRenderer.jsx | 4 +
.../src/components/Chart/ChartRenderer.test.jsx | 32 +-
.../components/Chart/DrillBy/DrillByMenuItems.tsx | 28 +-
.../src/components/Chart/chartAction.js | 2 +-
.../src/components/CronPicker/CronPicker.test.tsx | 2 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 12 +-
.../Datasource/ChangeDatasourceModal.tsx | 4 +-
.../src/components/Datasource/DatasourceEditor.jsx | 3 +-
.../components/DeleteModal/DeleteModal.test.tsx | 18 +-
.../ErrorMessage/InvalidSQLErrorMessage.test.tsx | 126 +
.../ErrorMessage/InvalidSQLErrorMessage.tsx | 62 +
.../ErrorMessage/MarshmallowErrorMessage.test.tsx | 2 +-
.../src/components/FacePile/index.tsx | 41 +-
.../src/components/FaveStar/FaveStar.test.tsx | 18 +-
.../src/components/Input/Input.stories.tsx | 138 +
.../CronPicker.test.tsx => Input/Input.test.tsx} | 30 +-
superset-frontend/src/components/Input/index.tsx | 19 +-
.../src/components/List/List.stories.tsx | 80 +
.../List/List.test.tsx} | 38 +-
.../{MetadataBar/index.tsx => List/index.ts} | 14 +-
.../src/components/ListView/ListView.test.tsx | 2 +-
.../src/components/ListViewCard/index.tsx | 200 +-
.../src/components/MetadataBar/ContentType.ts | 2 +-
.../src/components/MetadataBar/MetadataBar.tsx | 33 +-
.../src/components/MetadataBar/constants.ts | 41 +-
.../src/components/MetadataBar/index.tsx | 3 +-
.../src/components/Pagination/Ellipsis.test.tsx | 8 +-
.../src/components/Pagination/Item.test.tsx | 8 +-
.../src/components/Pagination/Next.test.tsx | 8 +-
.../src/components/Pagination/Prev.test.tsx | 8 +-
.../src/components/ResizableSidebar/index.tsx | 7 +-
superset-frontend/src/components/Select/Select.tsx | 3 +-
.../src/components/Switch/Switch.stories.tsx | 5 +-
.../Switch/Switch.test.tsx} | 30 +-
superset-frontend/src/components/Switch/index.tsx | 12 +-
.../TimezoneSelector.DaylightSavingTime.test.tsx | 5 +-
.../TimezoneSelector/TimezoneSelector.test.tsx | 12 +-
superset-frontend/src/components/Tooltip/index.tsx | 18 +-
superset-frontend/src/components/index.ts | 8 +-
superset-frontend/src/constants.ts | 2 +-
.../src/dashboard/actions/dashboardInfo.ts | 6 +
.../src/dashboard/actions/dashboardState.js | 344 +-
.../src/dashboard/actions/nativeFilters.ts | 115 +-
.../src/dashboard/components/Dashboard.jsx | 18 +-
.../src/dashboard/components/Dashboard.test.jsx | 19 +
.../DashboardBuilder/DashboardBuilder.test.tsx | 2 +
.../DashboardBuilder/DashboardBuilder.tsx | 2 +-
.../DashboardBuilder/DashboardContainer.tsx | 106 +-
.../DetailsPanel/DetailsPanel.test.tsx | 12 +-
.../FilterIndicator/FilterIndicator.test.tsx | 4 +-
.../dashboard/components/Header/Header.test.tsx | 363 +-
.../HeaderActionsDropdown.test.tsx | 4 +
.../HeaderActionsDropdown/{index.jsx => index.tsx} | 116 +-
.../src/dashboard/components/Header/index.jsx | 1216 +-
.../src/dashboard/components/Header/types.ts | 16 +-
.../components/Header/useDashboardMetadataBar.tsx | 54 +
.../OverwriteConfirmModal.test.tsx | 5 +
.../PropertiesModal/PropertiesModal.test.jsx | 2 +-
.../PropertiesModal/PropertiesModal.test.tsx | 24 +-
.../dashboard/components/PropertiesModal/index.tsx | 109 +-
.../PublishedStatus/PublishedStatus.test.tsx | 12 +-
.../PublishedStatus/{index.jsx => index.tsx} | 29 +-
.../{SliceAdder.test.jsx => SliceAdder.test.tsx} | 100 +-
.../components/{SliceAdder.jsx => SliceAdder.tsx} | 115 +-
.../components/SliceHeader/SliceHeader.test.tsx | 28 +-
.../SliceHeaderControls.test.tsx | 42 +-
.../components/SyncDashboardState/index.tsx | 4 +-
.../UndoRedoKeyListeners/{index.jsx => index.tsx} | 26 +-
...liceDragPreview.jsx => AddSliceDragPreview.tsx} | 53 +-
.../src/dashboard/components/dnd/DragDroppable.jsx | 45 +
.../components/dnd/DragDroppable.test.jsx | 16 +-
.../components/dnd/dragDroppableConfig.js | 2 +
.../src/dashboard/components/dnd/handleDrop.js | 1 +
.../dashboard/components/gridComponents/Chart.jsx | 14 +-
.../components/gridComponents/ChartHolder.tsx | 21 +-
.../dashboard/components/gridComponents/Tab.jsx | 26 +-
.../components/gridComponents/Tab.test.tsx | 28 +-
.../dashboard/components/gridComponents/Tabs.jsx | 119 +-
.../components/gridComponents/Tabs.test.tsx | 56 +-
.../DownloadMenuItems/DownloadAsImage.test.tsx | 21 +-
.../menu/DownloadMenuItems/DownloadAsImage.tsx | 4 +-
...loadAsImage.test.tsx => DownloadAsPdf.test.tsx} | 35 +-
.../{DownloadAsImage.tsx => DownloadAsPdf.tsx} | 20 +-
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 2 +-
.../DownloadMenuItems/DownloadScreenshot.test.tsx | 7 +-
.../menu/DownloadMenuItems/DownloadScreenshot.tsx | 115 +-
.../components/menu/DownloadMenuItems/index.tsx | 56 +-
.../dashboard/components/menu/HoverMenu.test.tsx | 4 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 38 +-
.../FilterBar/CrossFilters/selectors.ts | 2 +-
.../FilterBarSettings/FilterBarSettings.test.tsx | 6 +-
.../FilterBar/FilterConfigurationLink/index.tsx | 8 +-
.../FilterBar/FilterControls/FilterControl.tsx | 7 +-
.../FilterBar/FilterControls/FilterValue.tsx | 1 -
.../nativeFilters/FilterCard/useFilterScope.ts | 6 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 11 +-
.../FiltersConfigForm/ColumnSelect.test.tsx | 8 +-
.../FilterScope/FilterScope.test.tsx | 1 +
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 65 +-
.../FiltersConfigForm/FilterScope/utils.test.ts | 34 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 65 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 17 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 4 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 200 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 149 +-
.../Footer/CancelConfirmationAlert.tsx | 1 +
.../nativeFilters/FiltersConfigModal/types.ts | 11 +
.../nativeFilters/FiltersConfigModal/utils.ts | 114 +-
.../dashboard/components/nativeFilters/state.ts | 2 +-
.../src/dashboard/containers/Chart.jsx | 14 +-
.../src/dashboard/containers/Dashboard.ts | 22 -
.../src/dashboard/containers/DashboardHeader.jsx | 137 -
.../src/dashboard/containers/DashboardPage.tsx | 59 +-
.../src/dashboard/fixtures/mockNativeFilters.ts | 1 +
.../dashboard/reducers/dashboardFilters.test.js | 2 +-
.../src/dashboard/reducers/dashboardInfo.js | 11 +
.../src/dashboard/reducers/dashboardLayout.js | 3 +-
.../src/dashboard/reducers/dashboardState.js | 28 +
.../src/dashboard/reducers/nativeFilters.ts | 27 +-
superset-frontend/src/dashboard/types.ts | 13 +-
.../dashboard/util/activeAllDashboardFilters.ts | 4 +
.../util/charts/getFormDataWithExtraFilters.ts | 20 +-
.../src/dashboard/util/crossFilters.test.ts | 8 +-
.../src/dashboard/util/crossFilters.ts | 19 +-
.../src/dashboard/util/dnd-reorder.js | 56 +-
.../src/dashboard/util/dnd-reorder.test.js | 119 +-
.../src/dashboard/util/getRelatedCharts.test.ts | 107 +
.../src/dashboard/util/getRelatedCharts.ts | 113 +
.../util/useFilterFocusHighlightStyles.test.tsx | 10 +
.../util/useFilterFocusHighlightStyles.ts | 20 +-
superset-frontend/src/dataMask/actions.ts | 35 +-
superset-frontend/src/dataMask/reducer.ts | 41 +-
.../src/explore/actions/saveModalActions.test.ts | 60 +-
.../src/explore/actions/saveModalActions.ts | 29 +-
.../src/explore/components/Control.test.tsx | 4 +-
.../explore/components/ControlPanelsContainer.tsx | 1 +
.../DataTableControl/FilterInput.test.tsx | 4 +-
.../DatasourcePanel/DatasourcePanelItem.test.tsx | 6 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 20 +-
.../components/ExploreChartHeader/index.jsx | 56 +-
.../ExploreChartHeader/useExploreMetadataBar.tsx | 71 +
.../components/ExploreViewContainer/index.jsx | 10 +
.../PropertiesModal/PropertiesModal.test.tsx | 42 +-
.../{index.jsx => index.tsx} | 139 +-
.../components/controls/BoundsControl.test.jsx | 3 +-
.../explore/components/controls/BoundsControl.tsx | 8 +-
.../CollectionControl/CollectionControl.test.tsx | 15 +-
.../controls/CollectionControl/index.jsx | 8 +-
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 5 +-
.../controls/ColorSchemeControl/index.tsx | 102 +-
.../components/controls/CustomListItem/index.tsx | 5 +-
.../DatasourceControl/DatasourceControl.test.jsx | 111 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 15 +-
.../DateFilterControl/components/CustomFrame.tsx | 15 +
.../DateFilterControl/components/DateLabel.tsx | 9 +-
.../tests/CurrentCalendarFrame.test.tsx | 2 +-
.../DateFilterControl/tests/CustomFrame.test.tsx | 97 +
.../components/controls/DateFilterControl/types.ts | 1 +
.../ColumnSelectPopover.test.tsx | 132 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 8 +-
.../DndColumnSelect.test.tsx | 52 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 4 +-
.../DndMetricSelect.test.tsx | 33 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 14 +-
.../DndColumnSelectControl/utils/optionSelector.ts | 9 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 40 +-
.../AdhocMetricEditPopover.test.tsx | 44 +-
.../controls/MetricControl/AdhocMetricOption.jsx | 3 +-
.../SelectAsyncControl/SelectAsyncControl.test.tsx | 8 +-
.../components/controls/TextAreaControl.test.jsx | 50 +-
.../components/controls/TimeOffsetControl.test.tsx | 80 +
.../components/controls/TimeOffsetControl.tsx | 23 +-
.../controls/VizTypeControl/FastVizSwitcher.tsx | 171 +-
.../{FastVizSwitcher.tsx => VizTile.tsx} | 128 +-
.../VizTypeControl/VizTypeControl.test.tsx | 2 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 2 +-
.../controls/VizTypeControl/constants.tsx | 38 +-
.../components/controls/VizTypeControl/types.ts} | 21 +-
.../controls/withAsyncVerification.test.tsx | 12 +-
.../components/controls/withAsyncVerification.tsx | 25 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 3 +
...etControlValuesCompatibleWithDatasource.test.ts | 172 +
.../getControlValuesCompatibleWithDatasource.ts | 39 +-
.../getFormDataFromDashboardContext.test.ts | 7 +-
.../getFormDataWithDashboardContext.ts | 7 +
.../src/explore/exploreUtils/exploreUtils.test.jsx | 4 +-
.../exploreUtils/shouldUseLegacyApi.test.ts | 18 +-
superset-frontend/src/explore/types.ts | 4 +
.../src/features/alerts/AlertReportModal.tsx | 35 +-
.../alerts/components/AlertReportCronScheduler.tsx | 13 +-
.../DatabaseConnectionForm/CommonParameters.tsx | 26 +-
.../DatabaseConnectionForm/EncryptedField.tsx | 7 +-
.../OAuth2ClientField.test.tsx | 2 +-
.../DatabaseConnectionForm/OAuth2ClientField.tsx | 22 +-
.../DatabaseConnectionForm/constants.ts | 3 +
.../DatabaseModal/SSHTunnelSwitch.test.tsx | 4 +-
.../databases/DatabaseModal/SSHTunnelSwitch.tsx | 4 +-
.../databases/DatabaseModal/index.test.tsx | 2 +
.../UploadDataModel/UploadDataModal.test.tsx | 6 +-
.../features/databases/UploadDataModel/index.tsx | 48 +-
superset-frontend/src/features/databases/types.ts | 2 +
.../src/features/home/RightMenu.test.tsx | 14 +-
superset-frontend/src/features/home/RightMenu.tsx | 2 +-
.../src/features/home/SavedQueries.tsx | 2 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 2 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 5 +-
.../components/Select/SelectFilterPlugin.tsx | 1 +
.../src/filters/components/Select/controlPanel.ts | 2 +-
.../filters/components/Time/TimeFilterPlugin.tsx | 2 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 1 +
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 1 +
superset-frontend/src/pages/Chart/index.tsx | 29 +-
superset-frontend/src/pages/Home/index.tsx | 10 +-
superset-frontend/src/setup/setupErrorMessages.ts | 9 +
superset-frontend/src/setup/setupFormatters.ts | 9 +-
superset-frontend/src/theme/index.ts | 36 +-
superset-frontend/src/types/Chart.ts | 2 +
.../src/types/DashboardContextForExplore.ts | 1 +
superset-frontend/src/types/Owner.ts | 5 +-
.../getOwnerName.ts => types/dom-to-pdf.d.ts} | 20 +-
superset-frontend/src/utils/cacheWrapper.test.ts | 10 +-
superset-frontend/src/utils/colorScheme.ts | 169 +-
superset-frontend/src/utils/downloadAsPdf.ts | 74 +
superset-frontend/src/utils/getOwnerName.test.ts | 2 +
superset-frontend/src/utils/getOwnerName.ts | 2 +-
superset-frontend/src/utils/urlUtils.ts | 9 +-
superset-frontend/src/views/CRUD/utils.tsx | 2 +-
superset-websocket/.eslintignore | 20 -
superset-websocket/eslint.config.js | 53 +
superset-websocket/package-lock.json | 1659 +-
superset-websocket/package.json | 27 +-
superset-websocket/spec/index.test.ts | 34 +-
superset-websocket/src/config.ts | 2 +-
superset-websocket/src/index.ts | 1 +
.../utils/client-ws-app/package-lock.json | 328 +-
.../utils/client-ws-app/package.json | 6 +-
superset/cachekeys/api.py | 5 +-
superset/charts/data/api.py | 7 +-
superset/charts/post_processing.py | 28 +-
superset/commands/chart/importers/v1/__init__.py | 19 +-
superset/commands/dashboard/exceptions.py | 4 +
superset/commands/dashboard/export.py | 34 +-
.../commands/dashboard/importers/v1/__init__.py | 7 +-
superset/commands/dashboard/update.py | 17 +-
superset/commands/database/exceptions.py | 14 +-
superset/commands/database/importers/v1/utils.py | 13 +-
superset/commands/database/tables.py | 2 +-
superset/commands/database/test_connection.py | 6 +-
superset/commands/importers/v1/assets.py | 7 +-
superset/commands/report/create.py | 13 +-
superset/commands/report/execute.py | 112 +-
superset/commands/sql_lab/execute.py | 3 -
superset/commands/utils.py | 43 +-
superset/config.py | 60 +-
superset/connectors/sqla/models.py | 69 +-
superset/connectors/sqla/utils.py | 12 +-
superset/constants.py | 1 +
superset/daos/dashboard.py | 75 +-
superset/dashboards/api.py | 133 +-
superset/dashboards/schemas.py | 10 +-
superset/databases/api.py | 21 +-
superset/databases/schemas.py | 19 +-
.../development.in => superset/databases/types.py | 22 +-
superset/datasets/api.py | 150 +-
superset/datasets/schemas.py | 1 -
superset/db_engine_specs/base.py | 76 +-
superset/db_engine_specs/bigquery.py | 14 +-
superset/db_engine_specs/denodo.py | 158 +
superset/db_engine_specs/hive.py | 10 +-
superset/db_engine_specs/impala.py | 42 +-
superset/db_engine_specs/mssql.py | 8 +
superset/db_engine_specs/postgres.py | 17 +-
superset/db_engine_specs/presto.py | 17 +-
superset/db_engine_specs/trino.py | 120 +-
superset/errors.py | 3 +
superset/examples/birth_names.py | 23 +-
.../dashboards/COVID_Vaccine_Dashboard.yaml | 106 +
superset/exceptions.py | 2 +-
superset/extensions/__init__.py | 2 +-
superset/extensions/metadb.py | 4 +-
superset/initialization/__init__.py | 5 +
superset/jinja_context.py | 68 +-
superset/migrations/env.py | 6 +-
superset/migrations/shared/catalogs.py | 24 +-
...d83218_migrate_can_view_and_drill_permission.py | 2 +-
superset/models/core.py | 73 +-
superset/models/helpers.py | 31 +-
superset/models/sql_lab.py | 1 +
superset/models/sql_types/mssql_sql_types.py | 61 +
superset/reports/notifications/email.py | 15 +-
superset/security/manager.py | 20 +-
superset/sql/parse.py | 110 +-
superset/sql_lab.py | 68 +-
superset/sql_parse.py | 103 +-
superset/sqllab/sql_json_executer.py | 2 -
superset/superset_typing.py | 4 +
superset/tasks/async_queries.py | 2 +-
superset/tasks/thumbnails.py | 2 +-
superset/templates/appbuilder/navbar.html | 1 +
superset/templates/superset/basic.html | 241 +-
superset/templates/superset/theme.html | 1355 -
superset/thumbnails/digest.py | 47 +
.../translations/pt_BR/LC_MESSAGES/messages.po | 108 +-
superset/translations/sl/LC_MESSAGES/messages.po | 1273 +-
superset/utils/core.py | 5 +-
superset/utils/oauth2.py | 7 +-
superset/utils/pandas_postprocessing/compare.py | 7 +-
superset/utils/pandas_postprocessing/histogram.py | 14 +-
superset/utils/screenshots.py | 14 +-
superset/utils/webdriver.py | 18 +-
superset/views/core.py | 15 +-
superset/views/error_handling.py | 5 +-
superset/views/sql_lab/views.py | 285 +-
superset/viz.py | 2 +-
tests/integration_tests/async_events/api_tests.py | 6 +-
tests/integration_tests/base_api_tests.py | 35 +-
tests/integration_tests/cache_tests.py | 24 +-
tests/integration_tests/charts/api_tests.py | 457 +-
tests/integration_tests/charts/commands_tests.py | 16 +-
tests/integration_tests/charts/data/api_tests.py | 77 +-
tests/integration_tests/charts/schema_tests.py | 4 +-
tests/integration_tests/commands_test.py | 24 +-
tests/integration_tests/conftest.py | 7 +-
tests/integration_tests/core_tests.py | 167 +-
tests/integration_tests/dashboard_tests.py | 20 +-
tests/integration_tests/dashboards/api_tests.py | 727 +-
tests/integration_tests/dashboards/base_case.py | 10 +-
.../integration_tests/dashboards/commands_tests.py | 69 +-
tests/integration_tests/dashboards/dao_tests.py | 30 +-
.../dashboards/security/security_dataset_tests.py | 16 +-
.../dashboards/security/security_rbac_tests.py | 6 +-
tests/integration_tests/databases/api_tests.py | 394 +-
.../integration_tests/databases/commands_tests.py | 6 +-
tests/integration_tests/datasets/api_tests.py | 214 +-
tests/integration_tests/datasets/commands_tests.py | 6 +-
tests/integration_tests/datasource/api_tests.py | 64 +-
tests/integration_tests/datasource_tests.py | 97 +-
.../db_engine_specs/ascend_tests.py | 10 +-
.../db_engine_specs/base_engine_spec_tests.py | 67 +-
.../db_engine_specs/base_tests.py | 2 +-
.../db_engine_specs/bigquery_tests.py | 14 +-
.../db_engine_specs/elasticsearch_tests.py | 2 +-
.../db_engine_specs/hive_tests.py | 14 +
.../db_engine_specs/mysql_tests.py | 6 +-
.../db_engine_specs/pinot_tests.py | 30 +-
.../db_engine_specs/postgres_tests.py | 48 +-
.../db_engine_specs/presto_tests.py | 54 +-
.../db_engine_specs/trino_tests.py | 115 -
.../integration_tests/dict_import_export_tests.py | 68 +-
tests/integration_tests/dynamic_plugins_tests.py | 4 +-
tests/integration_tests/email_tests.py | 4 +-
tests/integration_tests/embedded/dao_tests.py | 10 +-
tests/integration_tests/event_logger_tests.py | 108 +-
.../fixtures/dashboard_with_tabs.py | 651 +
tests/integration_tests/fixtures/importexport.py | 14 +
tests/integration_tests/form_tests.py | 12 +-
tests/integration_tests/import_export_tests.py | 198 +-
tests/integration_tests/log_api_tests.py | 137 +-
.../logging_configurator_tests.py | 2 +-
tests/integration_tests/model_tests.py | 88 +-
tests/integration_tests/queries/api_tests.py | 28 +-
.../queries/saved_queries/api_tests.py | 18 +-
tests/integration_tests/query_context_tests.py | 121 +-
tests/integration_tests/reports/api_tests.py | 85 +-
tests/integration_tests/reports/commands_tests.py | 6 +
tests/integration_tests/result_set_tests.py | 333 +-
tests/integration_tests/security/api_tests.py | 6 +-
.../security/guest_token_security_tests.py | 30 +-
.../security/row_level_security_tests.py | 80 +-
tests/integration_tests/security_tests.py | 475 +-
tests/integration_tests/sql_lab/api_tests.py | 50 +-
tests/integration_tests/sql_validator_tests.py | 4 +-
tests/integration_tests/sqla_models_tests.py | 361 +-
tests/integration_tests/sqllab_tests.py | 86 +-
tests/integration_tests/strategy_tests.py | 12 +-
tests/integration_tests/tagging_tests.py | 68 +-
tests/integration_tests/tags/api_tests.py | 66 +-
tests/integration_tests/thumbnails_tests.py | 36 +-
tests/integration_tests/users/api_tests.py | 18 +-
tests/integration_tests/utils/encrypt_tests.py | 12 +-
.../integration_tests/utils/machine_auth_tests.py | 2 +-
tests/integration_tests/utils_tests.py | 238 +-
tests/integration_tests/viz_tests.py | 240 +-
tests/unit_tests/charts/test_post_processing.py | 624 +-
tests/unit_tests/commands/report/execute_test.py | 145 +
tests/unit_tests/connectors/sqla/models_test.py | 26 +-
tests/unit_tests/connectors/sqla/utils_test.py | 50 +-
tests/unit_tests/dao/key_value_test.py | 2 +-
.../databases/commands/importers/v1/import_test.py | 22 +
tests/unit_tests/db_engine_specs/test_base.py | 16 +-
tests/unit_tests/db_engine_specs/test_denodo.py | 146 +
tests/unit_tests/db_engine_specs/test_gsheets.py | 1 +
tests/unit_tests/db_engine_specs/test_impala.py | 79 +-
tests/unit_tests/db_engine_specs/test_mssql.py | 2 +
tests/unit_tests/db_engine_specs/test_postgres.py | 82 +-
tests/unit_tests/db_engine_specs/test_presto.py | 65 +-
tests/unit_tests/db_engine_specs/test_trino.py | 182 +-
tests/unit_tests/fixtures/assets_configs.py | 6 +-
tests/unit_tests/jinja_context_test.py | 456 +-
tests/unit_tests/models/core_test.py | 63 +-
tests/unit_tests/models/helpers_test.py | 53 +
.../pandas_postprocessing/test_compare.py | 67 +
.../pandas_postprocessing/test_histogram.py | 28 +-
tests/unit_tests/scripts/docker_build.py | 290 -
tests/unit_tests/security/manager_test.py | 147 +
tests/unit_tests/sql/parse_tests.py | 132 +-
tests/unit_tests/sql_lab_test.py | 115 +-
tests/unit_tests/sql_parse_tests.py | 52 +-
tests/unit_tests/thumbnails/test_digest.py | 155 +-
tests/unit_tests/utils/docker.py | 268 -
645 files changed, 46765 insertions(+), 30636 deletions(-)
create mode 100644 CHANGELOG/4.1.0.md
create mode 100644 docs/static/img/databases/denodo.png
delete mode 100644 docs/static/img/tutorial/add-data-upload.png
create mode 100644 docs/static/img/tutorial/allow-file-uploads.png
delete mode 100755 scripts/build_docker.py
create mode 100755 scripts/check-env.py
create mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/horizontalFilterBar.test.ts
create mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/nativeFilters.noInitState.test.ts
create mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/shared_dashboard_functions.ts
copy
superset-frontend/packages/{superset-ui-core/src/hooks/useComponentDidMount/useComponentDidMount.test.ts
=> superset-ui-chart-controls/src/utils/colorControls.ts} (59%)
create mode 100644
superset-frontend/packages/superset-ui-chart-controls/src/utils/isSortable.ts
create mode 100644
superset-frontend/packages/superset-ui-chart-controls/test/utils/colorControls.test.ts
create mode 100644
superset-frontend/packages/superset-ui-chart-controls/test/utils/isSortable.test.ts
copy
superset-frontend/packages/superset-ui-core/src/number-format/factories/{createDurationFormatter.ts
=> createMemoryFormatter.ts} (54%)
create mode 100644
superset-frontend/packages/superset-ui-core/test/number-format/factories/createMemoryFormatter.test.ts
delete mode 100644
superset-frontend/packages/superset-ui-switchboard/package-lock.json
rename superset-frontend/{cypress-base/cypress/plugins/index.js =>
src/components/Avatar/Avatar.stories.tsx} (66%)
copy superset-frontend/src/{types/Owner.ts =>
components/Avatar/Avatar.test.tsx} (77%)
copy superset-frontend/src/components/{MetadataBar => Avatar}/index.tsx (71%)
rename superset-frontend/src/components/Chart/{Chart.jsx => Chart.tsx} (75%)
create mode 100644
superset-frontend/src/components/Chart/ChartContextMenu/usePermissions.ts
create mode 100644
superset-frontend/src/components/ErrorMessage/InvalidSQLErrorMessage.test.tsx
create mode 100644
superset-frontend/src/components/ErrorMessage/InvalidSQLErrorMessage.tsx
create mode 100644 superset-frontend/src/components/Input/Input.stories.tsx
copy superset-frontend/src/components/{CronPicker/CronPicker.test.tsx =>
Input/Input.test.tsx} (63%)
create mode 100644 superset-frontend/src/components/List/List.stories.tsx
copy
superset-frontend/src/{dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx
=> components/List/List.test.tsx} (58%)
copy superset-frontend/src/components/{MetadataBar/index.tsx => List/index.ts}
(73%)
copy superset-websocket/.eslintrc.js =>
superset-frontend/src/components/MetadataBar/constants.ts (64%)
copy
superset-frontend/src/{explore/components/DataTableControl/FilterInput.test.tsx
=> components/Switch/Switch.test.tsx} (62%)
rename
superset-frontend/src/dashboard/components/Header/HeaderActionsDropdown/{index.jsx
=> index.tsx} (77%)
create mode 100644
superset-frontend/src/dashboard/components/Header/useDashboardMetadataBar.tsx
rename superset-frontend/src/dashboard/components/PublishedStatus/{index.jsx
=> index.tsx} (80%)
rename superset-frontend/src/dashboard/components/{SliceAdder.test.jsx =>
SliceAdder.test.tsx} (67%)
rename superset-frontend/src/dashboard/components/{SliceAdder.jsx =>
SliceAdder.tsx} (82%)
rename
superset-frontend/src/dashboard/components/UndoRedoKeyListeners/{index.jsx =>
index.tsx} (75%)
rename superset-frontend/src/dashboard/components/dnd/{AddSliceDragPreview.jsx
=> AddSliceDragPreview.tsx} (72%)
copy
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/{DownloadAsImage.test.tsx
=> DownloadAsPdf.test.tsx} (64%)
copy
superset-frontend/src/dashboard/components/menu/DownloadMenuItems/{DownloadAsImage.tsx
=> DownloadAsPdf.tsx} (69%)
delete mode 100644
superset-frontend/src/dashboard/containers/DashboardHeader.jsx
create mode 100644
superset-frontend/src/dashboard/util/getRelatedCharts.test.ts
create mode 100644 superset-frontend/src/dashboard/util/getRelatedCharts.ts
create mode 100644
superset-frontend/src/explore/components/ExploreChartHeader/useExploreMetadataBar.tsx
rename
superset-frontend/src/explore/components/controls/AnnotationLayerControl/{index.jsx
=> index.tsx} (71%)
create mode 100644
superset-frontend/src/explore/components/controls/TimeOffsetControl.test.tsx
copy
superset-frontend/src/explore/components/controls/VizTypeControl/{FastVizSwitcher.tsx
=> VizTile.tsx} (58%)
rename superset-websocket/.eslintrc.js =>
superset-frontend/src/explore/components/controls/VizTypeControl/constants.tsx
(61%)
copy
superset-frontend/{packages/superset-ui-core/test/query/api/setupClientForTest.ts
=> src/explore/components/controls/VizTypeControl/types.ts} (69%)
copy superset-frontend/src/{utils/getOwnerName.ts => types/dom-to-pdf.d.ts}
(70%)
create mode 100644 superset-frontend/src/utils/downloadAsPdf.ts
delete mode 100644 superset-websocket/.eslintignore
create mode 100644 superset-websocket/eslint.config.js
copy requirements/development.in => superset/databases/types.py (65%)
create mode 100644 superset/db_engine_specs/denodo.py
create mode 100644 superset/models/sql_types/mssql_sql_types.py
delete mode 100644 superset/templates/superset/theme.html
delete mode 100644 tests/integration_tests/db_engine_specs/trino_tests.py
create mode 100644 tests/integration_tests/fixtures/dashboard_with_tabs.py
create mode 100644 tests/unit_tests/db_engine_specs/test_denodo.py
delete mode 100644 tests/unit_tests/scripts/docker_build.py
delete mode 100644 tests/unit_tests/utils/docker.py