You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ma...@apache.org on 2024/11/27 00:28:22 UTC
(superset) branch uuid_mixin updated (fcab8b1844 -> 41b6fe11ab)
This is an automated email from the ASF dual-hosted git repository.
maximebeauchemin pushed a change to branch uuid_mixin
in repository https://gitbox.apache.org/repos/asf/superset.git
from fcab8b1844 Update superset/models/core.py
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 5256a2f194 chore(asf): add `gh-pages` to protected branches (#31153)
add 547a4adef5 fix: Remove unwanted commit on Trino's handle_cursor (#31154)
add ef14d58c64 chore(🦾): bump python email-validator 2.1.1 -> 2.2.0 (#31116)
add e0a5033596 chore(🦾): bump python dill 0.3.8 -> 0.3.9 (#31108)
add f24bf873bf chore(🦾): bump python flask-compress 1.15 -> 1.17 (#31123)
add b648cc1168 chore(🦾): bump python zipp 3.19.0 -> 3.21.0 (#31124)
add 2ad8af71b5 chore(🦾): bump python gunicorn 22.0.0 -> 23.0.0 (#31125)
add 3fa0de4293 chore(🦾): bump python flask-jwt-extended 4.6.0 -> 4.7.1 (#31139)
add cc1eec69df chore(🦾): bump python limits 3.12.0 -> 3.13.0 (#31137)
add 3e28bd2cfa chore(🦾): bump python zstandard 0.22.0 -> 0.23.0 (#31136)
add aa7d3b0f96 chore(🦾): bump python dnspython 2.6.1 -> 2.7.0 (#31135)
add 342cfc41ec chore(🦾): bump python pyopenssl 24.1.0 -> 24.2.1 (#31133)
add fcb3ff3a41 chore(🦾): bump python slack-sdk 3.27.2 -> 3.33.4 (#31132)
add 7154b8d40f chore(🦾): bump python numexpr 2.10.1 -> 2.10.2 (#31130)
add e2b9b8e9fd chore(🦾): bump python simplejson 3.19.2 -> 3.19.3 (#31129)
add 316da5e5f5 chore(🦾): bump python humanize 4.9.0 -> 4.11.0 (#31128)
add bbc6d374ea chore(🦾): bump python celery subpackage(s) (#31127)
add 95f4fe0cb8 chore(🦾): bump python mako 1.3.5 -> 1.3.6 (#31140)
add 564c168420 chore(🦾): bump python flask-limiter 3.7.0 -> 3.8.0 (#31138)
add 73164c61ad chore(🦾): bump python billiard 4.2.0 -> 4.2.1 (#31109)
add 97683ec052 fix: helm chart deploy to open PRs to now-protected gh-pages branch (#31155)
add 7f2e752796 fix: check orderby (#31156)
add f077323e6f fix(Dashboard): Backward compatible shared_label_colors field (#31163)
add 68499a1199 feat: purge OAuth2 tokens when DB changes (#31164)
add fd9d3301f6 chore: deprecate tox in favor of act (#29382)
add 9224051b80 chore(🦾): bump python importlib-metadata 7.1.0 -> 8.5.0 (#31126)
add 09802acf0d refactor: remove more sqlparse (#31032)
add 529aed5da1 chore(deps): cap async_timeout<5.0.0 (#31170)
add 45668e31fc feat: make sure to quote formulas on Excel export (#31166)
add c26f073134 chore(🦾): bump python pyparsing 3.1.2 -> 3.2.0 (#31171)
add 0166db9663 chore(🦾): bump python sqlglot 23.6.3 -> 23.15.8 (#28461)
add ff777d91e3 feat: add and use UUIDMixin for most models
add 841b67e2b6 is it as simple as this?
add 41b6fe11ab Merge remote-tracking branch 'refs/remotes/fork/uuid_mixin' into uuid_mixin
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 10 +
.gitattributes | 1 +
.github/CODEOWNERS | 4 +-
.github/ISSUE_TEMPLATE/bug-report.yml | 11 +-
.github/actions/chart-releaser-action | 2 +-
.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 | 135 +-
.github/workflows/superset-docs-verify.yml | 13 +-
.github/workflows/superset-e2e.yml | 3 +-
.github/workflows/superset-helm-lint.yml | 2 +-
.github/workflows/superset-helm-release.yml | 88 +-
.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 | 3 +-
RELEASING/README.md | 5 +-
RELEASING/release-notes-4-1/README.md | 4 +-
RELEASING/verify_release.py | 38 +-
RESOURCES/INTHEWILD.md | 21 +-
UPDATING.md | 15 +-
docker-compose.yml | 1 +
docker/docker-frontend.sh | 5 +
docker/docker-init.sh | 6 +-
docs/README.md | 1 +
docs/docs/configuration/databases.mdx | 46 +-
docs/docs/configuration/networking-settings.mdx | 1 -
docs/docs/configuration/sql-templating.mdx | 9 +-
docs/docs/contributing/development.mdx | 159 +-
docs/docs/contributing/howtos.mdx | 63 +-
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 | 625 +-
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 | 6 +-
pyproject.toml | 185 +-
requirements/base.in | 4 +
requirements/base.txt | 159 +-
requirements/development.in | 2 +-
requirements/development.txt | 143 +-
scripts/build_docker.py | 294 -
scripts/change_detector.py | 14 +-
scripts/check-env.py | 222 +
scripts/cypress_run.py | 122 +-
superset-embedded-sdk/README.md | 29 +
superset-frontend/.eslintrc.js | 2 -
.../cypress/e2e/dashboard/editmode.test.ts | 585 +-
...s.test.ts => nativeFilters.noInitState.test.ts} | 242 -
.../cypress/e2e/dashboard/nativeFilters.test.ts | 216 -
.../e2e/dashboard/shared_dashboard_functions.ts | 2 +-
.../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 | 750 +-
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 6120 +++-
superset-frontend/package.json | 43 +-
.../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/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 +
.../test/components/ColumnOption.test.tsx | 17 +
.../test/components/labelUtils.test.tsx | 2 +-
.../test/utils/colorControls.test.ts | 112 +
.../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 | 4 +-
.../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 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.js | 4 +-
.../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 +-
.../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 +-
.../plugin-chart-table/src/controlPanel.tsx | 34 +-
.../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 +-
.../index.tsx => Avatar/Avatar.stories.tsx} | 31 +-
.../index.tsx => Avatar/Avatar.test.tsx} | 13 +-
.../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/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 | 32 +-
.../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 +-
.../{Switch/index.tsx => MetadataBar/constants.ts} | 28 +-
.../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 | 352 +-
.../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 | 92 +-
.../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 | 7 +-
.../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 +-
.../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 | 17 +-
.../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 +-
.../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 +-
.../controls/AnnotationLayerControl/index.tsx | 2 +-
.../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} | 28 +-
.../components/controls/VizTypeControl/types.ts} | 21 +-
.../controls/withAsyncVerification.test.tsx | 12 +-
.../components/controls/withAsyncVerification.tsx | 25 +-
.../src/explore/controlUtils/controlUtils.test.tsx | 3 +
.../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/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 | 10 +-
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 +
.../Switch/index.tsx => types/dom-to-pdf.d.ts} | 23 +-
superset-frontend/src/utils/cacheWrapper.test.ts | 10 +-
superset-frontend/src/utils/colorScheme.ts | 185 +-
superset-frontend/src/utils/downloadAsPdf.ts | 74 +
superset-frontend/src/utils/urlUtils.ts | 9 +-
superset-frontend/src/views/CRUD/utils.tsx | 2 +-
superset-websocket/package-lock.json | 557 +-
superset-websocket/package.json | 16 +-
superset-websocket/spec/index.test.ts | 24 +-
.../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/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/database/update.py | 32 +
superset/commands/dataset/duplicate.py | 7 +-
superset/commands/importers/v1/assets.py | 7 +-
superset/commands/report/create.py | 13 +-
superset/commands/report/execute.py | 112 +-
superset/commands/utils.py | 43 +-
superset/config.py | 42 +-
superset/connectors/sqla/models.py | 96 +-
superset/connectors/sqla/utils.py | 12 +-
superset/constants.py | 1 +
superset/daos/dashboard.py | 75 +-
superset/dashboards/api.py | 131 +-
superset/dashboards/schemas.py | 34 +-
superset/databases/api.py | 21 +-
superset/databases/schemas.py | 19 +-
.../base.in => superset/databases/types.py | 24 +-
superset/datasets/api.py | 150 +-
superset/datasets/schemas.py | 1 -
superset/db_engine_specs/base.py | 105 +-
superset/db_engine_specs/bigquery.py | 21 +-
superset/db_engine_specs/denodo.py | 158 +
superset/db_engine_specs/hive.py | 30 +-
superset/db_engine_specs/impala.py | 42 +-
superset/db_engine_specs/kusto.py | 14 -
superset/db_engine_specs/mssql.py | 8 +
superset/db_engine_specs/postgres.py | 11 +-
superset/db_engine_specs/presto.py | 17 +-
superset/db_engine_specs/trino.py | 122 +-
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 | 62 +-
superset/migrations/env.py | 6 +-
superset/migrations/shared/catalogs.py | 24 +-
superset/models/core.py | 55 +-
superset/models/helpers.py | 43 +-
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 | 17 +-
superset/sql/parse.py | 110 +-
superset/sql_lab.py | 68 +-
superset/sql_parse.py | 103 +-
superset/sql_validators/presto_db.py | 23 +-
superset/sqllab/query_render.py | 8 +-
superset/superset_typing.py | 4 +
superset/tasks/async_queries.py | 2 +-
superset/templates/appbuilder/navbar.html | 1 +
superset/templates/superset/basic.html | 241 +-
superset/templates/superset/theme.html | 1355 -
.../translations/pt_BR/LC_MESSAGES/messages.po | 108 +-
superset/translations/sl/LC_MESSAGES/messages.po | 1273 +-
superset/utils/core.py | 5 +-
superset/utils/excel.py | 21 +
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 | 4 -
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 | 83 +-
.../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 | 41 +-
.../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 | 69 +-
.../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/advanced_data_type/types_tests.py | 4 -
tests/unit_tests/commands/databases/update_test.py | 52 +
tests/unit_tests/commands/report/execute_test.py | 145 +
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_kusto.py | 53 +-
tests/unit_tests/db_engine_specs/test_mssql.py | 2 +
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 | 432 +-
tests/unit_tests/models/core_test.py | 106 +
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 | 336 +
tests/unit_tests/sql/parse_tests.py | 154 +-
tests/unit_tests/sql_lab_test.py | 115 +-
tests/unit_tests/sql_parse_tests.py | 52 +-
tests/unit_tests/utils/docker.py | 268 -
tests/unit_tests/utils/excel_tests.py | 13 +
623 files changed, 43385 insertions(+), 29982 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
copy superset-frontend/cypress-base/cypress/e2e/dashboard/{nativeFilters.test.ts => nativeFilters.noInitState.test.ts} (52%)
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/test/utils/colorControls.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
copy superset-frontend/src/components/{Switch/index.tsx => Avatar/Avatar.stories.tsx} (66%)
copy superset-frontend/src/components/{MetadataBar/index.tsx => Avatar/Avatar.test.tsx} (76%)
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-frontend/src/components/{Switch/index.tsx => 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
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%)
copy superset-frontend/{packages/superset-ui-core/test/query/api/setupClientForTest.ts => src/explore/components/controls/VizTypeControl/constants.tsx} (60%)
copy superset-frontend/{packages/superset-ui-core/test/query/api/setupClientForTest.ts => src/explore/components/controls/VizTypeControl/types.ts} (69%)
copy superset-frontend/src/{components/Switch/index.tsx => types/dom-to-pdf.d.ts} (70%)
create mode 100644 superset-frontend/src/utils/downloadAsPdf.ts
copy requirements/base.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