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

(superset) branch dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-core/d3-format-3.1.0 updated (91b21e22a8 -> f926449569)

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

rusackas pushed a change to branch dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-core/d3-format-3.1.0
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard 91b21e22a8 Update lock file for Dependabot PR
 discard 316669117d build(deps): bump d3-format
     add cc492ffed4 chore(intros): Update INTHEWILD.md (#29226)
     add a067ffb92d feat(echarts-pie): add string template support for labels (#28774)
     add 5167d20f27 fix: Improving handling for tag relationship when deleting assets v2 (#29229)
     add 4bb2e2f8af chore: enable ruff lint rule TRY201 and B904 to improve `raise` stack traces (#29166)
     add f2d5bbc671 build(deps-dev): bump braces from 3.0.2 to 3.0.3 in /superset-embedded-sdk (#29232)
     add a88979631e fix(sqllab): run previous state query (#29230)
     add 31afb62e95 refactor(sqllab): nonblocking switch query editor (#29108)
     add 6b016da185 fix: Workaround for Pandas.DataFrame.to_csv bug (#28755)
     add 53798c7904 feat(trino): Add functionality to upload data (#29164)
     add f185bbed3c chore: Set isolation level to READ COMMITTED for testing et al.  (#28628)
     add daf37cbe58 chore: Remove the need for explicit bubble up of certain exceptions (#29235)
     add 0dc9215c89 fix(Explore): Keep necessary form data to allow query mode switching (#29234)
     add 3dadefcfb0 feat: Support a dynamic minimum interval for alerts and reports (#29241)
     add 66bd0ce3d0 test(storybook): fix component stories (#29245)
     add 05829cbda9 chore(sqllab): Add logging for actions (#28876)
     add b50e3af07c fix(sqllab): Do not strip comments when executing SQL statements (#29248)
     add 2418efe85c test(Explorer): Fix minor errors in ExploreViewContainer syntax, add tests (#29249)
     add 16c449748a fix: Custom SQL filter control (#29260)
     add 37753cbdc2 fix: Catalog with restricted permissions produces an error during database connection (#29257)
     add 7ddea62331 feat(table): Table with Time Comparison (#28057)
     add ddc9f06786 refactor(sqllab): nonblocking delete query editor (#29233)
     add 08e44c0850 feat: Improves the Drill By feature (#29242)
     add 914ebd9ba3 fix(permalink): adding anchor to dashboard permalink generation (#28744)
     add ae7c40920e chore: translate strings to French (#29247)
     add d49d79121c chore: trigger CI jobs on all release-related branches (#29274)
     add 358e83a849 build(deps): bump ws from 8.17.0 to 8.17.1 in /superset-websocket (#29276)
     add c7b8ae9013 build(deps): bump ws from 7.5.9 to 7.5.10 in /docs (#29275)
     add ab7f8ad1bf docs: remove comment header in README.md (#29273)
     add 527f1d20ad fix: filters not updating with force update when caching is enabled (#29291)
     add 725afc3848 fix(sqllab): invalid empty state on switch tab (#29278)
     add 4537ab6b1a fix(sqllab): excessive API calls for schemas (#29279)
     add 796726376a chore: make flask-talisman work with test config (#29277)
     add 9f70697046 chore: use json codec for key value lock (#29285)
     add 188b5f4781 docs: add Agoda to users list (#29300)
     add 36b1535199 chore(e2e): using updated repo secret, new Cypress project id (#29296)
     add 99fc04b9a6 build(deps-dev): bump ws from 7.5.7 to 7.5.10 in /superset-embedded-sdk (#29308)
     add 172ddb47d5 fix(metastore-cache): prune before add (#29301)
     add 03969d5f90 chore(distributed-lock): refactor tests (#29302)
     add 1770f8b783 fix(key-value): use flush instead of commit (#29286)
     add 313ee596f5 fix(Dashboard): Color inconsistency on refreshes and conflicts (#27439)
     add 70f6f5f3ef fix(ui): Disable ability to export data when user does not have the correct permission (#28429)
     add a5355d86fc feat: Dashboard tabs api endpoint (#27962)
     add 03143bf9ad chore(applitools): making tests more static for consistent testing (#28201)
     add 6378ec5d69 feat(dashboard): Enables pivot table download option at dashboard level (#29123)
     add 5e060cef7c feat: add new SQLLAB_FORCE_RUN_ASYNC feature flag (#29231)
     add 514eda82fb fix: don't strip SQL comments in Explore - 2nd try (#28753)
     add 118552d4d2 chore(e2e): more instructions for manual test runs. (#29319)
     add 8c990adabe build(deps): bump deck.gl from 9.0.6 to 9.0.12 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28296)
     add 9444c6bd4b fix: Remove recursive repr call (#29314)
     add 79d84f30f5 docs: update CVEs fixed on 4.0.1 and 3.1.3 (#29313)
     add fe3ba12801 refactor: Adds the sort_by_metric control to sharedControls (#29325)
     add 4fe04e63ac chore(e2e): simplify Cypress record key usage (#29327)
     add 01ffc1227a docs: Update INTHEWILD.md with Bluesquare (#29337)
     add ee5227733b fix: Cannot delete empty column inside a tab using the dashboard editor (#29346)
     add 160cece017 fix(explore): restored hidden field values has discarded (#29349)
     add 5ffa616d98 fix: actually write changes on "superset import-datasources" (#14817)
     add 213fd69b2b chore: Rename Totals to Summary in table chart (#29360)
     add 708afb7146 fix(revert 27883): Excess padding in horizontal Bar charts (#29345)
     add d69363ef11 fix(tests): Ensure fixture is invoked (#29352)
     add c12b4e9cba chore(tests): Cleanup Celery tests (#29355)
     add f9f70e3e55 chore(tests): Fix MySQL logic (#29356)
     add dffad48504 feat(build): uplift `Jest` to v29 (#29118)
     add d74d3a87bb fix: default logging (#27777)
     add b5a72e21f7 refactor(Homepage): Migrate Home.test to RTL (#29353)
     add de6a518161 fix(Query): Parse html string error responses to avoid displaying raw HTML as error message (#29321)
     add 58f33d227a fix(explore): don't respect y-axis formatting (#29367)
     add c83d5b88e1 feat: Adds the ECharts Sankey chart (#29329)
     add d4054e3d85 feat: Adds chart IDs option to migrate-viz (#29361)
     add c49a6dfdef feat(e2e): implementing Cypress Dashboard on `master` branch merges (#29351)
     add 731cfb1553 chore(tests): Mark TestConnectionDatabaseCommand as non-test related (#29366)
     add 53450b7e2f fix(tox): Address issue with generative environment variables (#29368)
     add 5948dac889 chore(ci): Start Celery worker as a background process (#29371)
     add 466dda2b14 chore(security): Clean up session/commit logic (#29381)
     add 9d405738c0 chore(tests): Remove unnecessary mock (#29386)
     add 59d1eea4c8 ci: remove update repo on issue comment (#29388)
     add 9c5c124155 docs: fix typo in docker compose doc (#29390)
     add c70a9d0e67 fix(readme): changing video from mp4 to webm format (#29392)
     add 2a587a771c feat: Add Ant Design 5 Theme  (#29328)
     add 66bc8ceddd chore(Table): Add aria-label to Table page size selector (#29391)
     add ed3c66b6a6 chore(deps): bump scroll-into-view-if-needed from 2.2.28 to 3.1.0 in /superset-frontend (#28816)
     add f128718d34 docs: fix typos (#29400)
     add a3f0d00714 refactor(src/explore/comp/controls/metricControl): migrate Enzyme test to RTL syntax (#29380)
     add 8fb8199a55 chore(dao/command): Add transaction decorator to try to enforce "unit of work" (#24969)
     add e274925b2a chore(frontend): remove obsolete ESLint rules in tests (#29405)
     add 5c9352fae4 docs: update INTHEWILD.md with bluquist (#29399)
     add ba405bacbf docs: Update INTHEWILD.md with Aveti Learning (#29413)
     add 179cf269c6 fix: SQL label missing for non-group-by queries (#29420)
     add 42773b9b1c chore(deps): bump stream from 0.0.2 to 0.0.3 in /docs (#29431)
     add cfe29406e5 chore(deps-dev): bump typescript from 5.4.5 to 5.5.2 in /docs (#29432)
     add 5aac1b59b1 chore(deps): bump rehype-raw from 6.1.1 to 7.0.0 in /superset-frontend (#29433)
     add 7727b9dc79 chore(deps-dev): bump eslint-import-resolver-typescript from 2.5.0 to 3.6.1 in /superset-frontend (#29435)
     add 0cf676b574 chore(deps-dev): bump ts-jest from 29.1.2 to 29.1.5 in /superset-websocket (#29423)
     add 7d6e933348 chore(key-value): convert command to dao (#29344)
     add 028665030f chore: Added 10Web to the list of organizations that use Apache Superset (#29442)
     add 446a3b22dc chore: move all GHAs to ubuntu-22.04 (#29447)
     add 839ca82a19 chore(deps): bump react-markdown from 8.0.3 to 8.0.7 in /superset-frontend (#29439)
     add 1e73820277 chore(deps): bump @algolia/client-search from 4.23.3 to 4.24.0 in /docs (#29428)
     add cf031bbee4 chore(deps-dev): bump webpack from 5.91.0 to 5.92.1 in /docs (#29429)
     add 7a0ae36c4a chore(deps): bump actions/checkout from 2 to 4 (#29434)
     add 3449b8f9dc chore(deps-dev): update @types/lodash requirement from ^4.17.4 to ^4.17.6 in /superset-frontend/plugins/plugin-chart-handlebars (#29425)
     add 7bb7fc0f49 chore(deps): bump deck.gl from 9.0.12 to 9.0.20 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#29426)
     add 7f3c8efab0 fix(metastore-cache): import dao in methods (#29451)
     add fb1f2c4f18 fix: re-add missing code from PR #28132 (#29446)
     add d5c0506faa fix: OAuth2 in async DBs (#29461)
     add 35da6ac270 fix: Dashboard hangs when initial filters cannot be loaded (#29456)
     add 6b73b69b41 feat(CLI command): Apache Superset "Factory Reset" CLI command #27207 (#27221)
     add 5231e86b6c docs(docker compose): fix step 4 list formatting (#29468)
     add 48f6fe6d69 chore(i18n): Translated charts and filters into Russian (#29377)
     add 145694d828 chore: run babel_update.sh to update po files (#29476)
     add 4e861cf86e chore(utils): Support select_columns with getUserOwnedObjects and split recentActivityObjs (#29459)
     add 6d2b3b8698 fix: Enable explore button on SQL Lab view when connected to Apache Pinot as a database (#28364)
     add 0f60701995 chore(Home): Avoid firing API requests when a custom Home is used (#29493)
     add d89648147f feat(dashboard): add API endpoints for generating and downloading screenshots (#29187)
     add e768796491 refactor: Upgrade Card to Ant Design 5 (#29389)
     add 241834205f fix: remove info from datasource access error (#29470)
     add 0e0028260f fix: add more disallowed pg functions (#29454)
     add ee72d6cdca feat: Enable customizing the docker admin password (#29498)
     add 9724c99341 feat: add support to NOT LIKE operator (#29384)
     add 1682994b7e docs: cleanup markdown warnings (#29511)
     add 9052f9fbb4 fix(plugins): Fix dashboard filter for Table and Big Number with Time Comparison (#29517)
     add dc16255605 docs: Add Vasu and Jamie to the Users List (#29486)
     add b481bc95b5 fix(plugins): Big Number with Time Comparison (#29520)
     add b4560d442b feat(database): Add OceanBase support (#29496)
     add 3d0665183c fix: Table time comparison breaking after form data update (#29525)
     add e749efcb97 fix: refactor view error handling into a separate module (#29330)
     add 813775e719 chore(build): sync Jest version across plugins (#29414)
     add 3bf89893dc feat(build): uplift Storybook to v8 (#29408)
     add 428b68f3e0 refactor: Upgrade Badge component to Ant Design 5 (#29124)
     add bea4882b04 docs: Add frontend dependency installation steps (#29510)
     add 1734eeaf0c chore(deps): bump deck.gl from 8.9.22 to 9.0.21 in /superset-frontend (#29529)
     add 5aacf563d8 chore(deps): bump regenerator-runtime from 0.13.11 to 0.14.1 in /superset-frontend (#29437)
     add ec5bbaa678 feat: add connector for CouchbaseDB (#29225)
     add 17a4537215 docs(intro): Add OceanBase to the Supported Databases section of readme.md. (#29537)
     add 1d35ca4bc5 fix(websocket): add error handling (#29538)
     add 67df4e3ce3 fix: prevent guest users from changing columns (#29530)
     add 33a31ca393 chore(deps): bump deck.gl from 8.9.22 to 9.0.20 in /superset-frontend (#29436)
     add dd74757032 fix: babel_update script crash (#29548)
     add 33b934cbb3 fix(Tags filter): Filter assets by tag ID (#29412)
     add d535f3fe56 fix: make catalog migration lenient (#29549)
     add 3f6b7e2456 docs: Added Keycloak auth configuration (#29487)
     add 84a1cd245c chore: cleanup documentation (#29552)
     add 0d352b4e06 fix(dataset import): Support catalog field during dataset import (#29576)
     add fa095a98ed fix: Trino `get_columns` (#29566)
     add a56f656a83 fix: small fixes to the catalog migration (#29579)
     add fb15278f97 fix: catalog permission check (#29581)
     add 462cda400b fix(storybook): fix broken Storybook stories during development (#29587)
     add 6eda6dfe06 docs: update CVEs for 4.0.2 (#29599)
     add d51a2add65 docs(contributing): removing old blog post link (#29603)
     add e90a9b3c87 chore(docs): create architecture page (#28481)
     add 00ab12ce9b fix(docs): fix broken indexed link from Google search (#28496)
     add ec508a70a6 docs(Database): Clarify host value expected when running in docker (#28124)
     add b66c0f8d30 fix: schemas for upload API (#29604)
     add 028e9c9294 chore: Updates CHANGELOG.md with 4.0.2 data (#29600)
     add c30ca534a3 feat(build): uplift Lerna + replace insecure shortid with nanoid + uplift Yeoman-related packages + ESM-ize generator-superset (#29419)
     add b39952549f fix: sort schemas when uploading data (#29610)
     add 245e1986c1 chore: Clear redux localStorage on logout (#29602)
     add 9da5be3d79 docs: fix code comment explaining local override (#29612)
     add db3fa8df77 fix(sqllab): Show warning message when deprecated db is selected (#29607)
     add 3ade01f828 feat: custom values to sandbox iframe (#29590)
     add ae6e58f918 feat(frontend/hooks): replace 3rd-party BroadcastChannel with native Web API equivalence (#29584)
     add c0d46eb1af refactor(Tag): Upgrade Tag and TagsList to Ant Design 5 (#29593)
     add 6dbfe2aab9 feat: add slackv2 notification (#29264)
     add 1e412a8711 refactor(Dashboard): Fetch dashboard screenshot via dedicated endpoint (#29272)
     add 5b79752e5d fix: Add Japanese Translations (#29567)
     add 85b66946ed refactor: Remove dead code from the Word Cloud plugin (#29594)
     add 5539f87912 fix(sqllab): prev shema/table options remained on fail (#29638)
     add 9487d6c9d6 fix: Required native filter message wrongfully appearing (#29643)
     add ae0edbfdce chore: add catalog_access to OBJECT_SPEC_PERMISSIONS (#29650)
     add 92537f1fd5 fix: Loading of native filter column (#29647)
     add be833dce4f fix: Layout of native filters modal with lengthy columns (#29648)
     add 2a9a1d3194 docs: update creating-your-first-dashboard.mdx (#29631)
     add 27dde2a811 feat(alert/report): Added optional CC and BCC fields for email notifi… (#29088)
     add 453e6deb97 fix: Dashboard editable title weird behavior when adding spaces (#29667)
     add cd713a239e fix: Use default custom time range time without timezone (#29669)
     add 3de2b7c989 refactor(ProgressBar): Upgrade ProgressBar to Antd 5 (#29666)
     add 922128f6e0 fix: Add user filtering to changed_by. Fixes #27986 (#29287)
     add 72caec10fe feat(country map): Adding Hungary (and other touchups) (#29627)
     add dac69e2092 feat(explorer): Add configs and formatting to discrete comparison columns (#29553)
     add 5ed19319dd build(deps-dev): bump thread-loader from 3.0.4 to 4.0.2 in /superset-frontend (#26557)
     add 3c971455e7 fix(explore): missing column autocomplete in custom SQL (#29672)
     add f51bf67554 chore(build): pin Storybook-related packages to 8.1.11 as further v8+ version requires React 18 (#29731)
     add 705ffda574 build(deps): bump ace-builds from 1.4.14 to 1.35.4 in /superset-frontend (#29762)
     add 396cf9b822 build(deps-dev): bump @svgr/webpack from 8.0.1 to 8.1.0 in /superset-frontend (#29754)
     add e21f945802 build(deps-dev): bump mini-css-extract-plugin from 2.7.6 to 2.9.0 in /superset-frontend (#29753)
     add 363999d197 build(deps): bump @docsearch/react from 3.6.0 to 3.6.1 in /docs (#29751)
     add 1ec8eb8f57 build(deps-dev): bump typescript from 5.5.2 to 5.5.4 in /docs (#29750)
     add d4f0ac4a63 build(deps): bump @types/lodash from 4.17.4 to 4.17.7 in /superset-websocket (#29746)
     add adc2ba405b build(deps): bump deck.gl from 9.0.21 to 9.0.24 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#29744)
     add 40f9a40aa1 build(deps-dev): bump prettier from 3.2.5 to 3.3.3 in /superset-websocket (#29742)
     add 385cf8af8c build(deps): bump debug from 4.3.5 to 4.3.6 in /superset-websocket/utils/client-ws-app (#29739)
     add 06ac7bf16c build(deps): bump fast-xml-parser from 4.2.7 to 4.4.1 in /superset-frontend (#29767)
     add a9229899f6 build(deps-dev): update @babel/types requirement from ^7.24.0 to ^7.24.5 in /superset-frontend/plugins/plugin-chart-pivot-table (#28297)
     add bcc14b5274 build(deps-dev): bump ts-loader from 7.0.5 to 9.5.1 in /superset-frontend (#29760)
     add fd8f8719f8 build(deps-dev): bump history from 4.10.1 to 5.3.0 in /superset-frontend (#29763)
     add 320ba9eac2 build(deps): update underscore requirement from ^1.13.6 to ^1.13.7 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#29743)
     add ee54363163 build(deps-dev): update @types/lodash requirement from ^4.17.6 to ^4.17.7 in /superset-frontend/plugins/plugin-chart-handlebars (#29740)
     add 00bab74d17 chore(deps): bump d3-hierarchy from 1.1.9 to 3.1.2 in /superset-frontend (#28820)
     add f0fa96fc46 chore(deps): bump abortcontroller-polyfill from 1.2.1 to 1.7.5 in /superset-frontend (#29427)
     add c22dfa1abb docs(contributing): fix broken link to translations sub-section (#29768)
     add cff9865c47 build(deps-dev): bump webpack from 5.92.1 to 5.93.0 in /docs (#29747)
     add 68ef13e37f build(deps): bump @ant-design/icons from 5.3.7 to 5.4.0 in /docs (#29748)
     add c3702be9d4 docs: Check markdown files for bad links using linkinator (#28424)
     add 134ca38b8d fix(Database): Refresh catalogs on db update returns database error (#29681)
     add 8891f04f11 fix(frontend/docker, ci): fix borked Docker build due to Lerna v8 uplift (#29725)
     add 525e837c5b fix: catalog upgrade/downgrade (#29780)
     add 6bf8596d68 fix: remove --no-optional from docker-compose build (#29779)
     add d21d7591c0 feat(alerts): enable tab selection for dashboard alerts/reports (#29096)
     add 2bce20f790 fix: Fixing incomplete string escaping.  (#29772)
     add 2231348356 build(deps-dev): bump @types/node from 20.13.0 to 22.0.0 in /superset-websocket (#29738)
     add 714caeafb6 chore(docs): remove mention of MariaDB in dev environment setup (#29790)
     add 06c9f3368a chore(deps): bump dayjs to unblock CI. (#29794)
     add 4c52ecc4d8 fix(Dashboard): Copying a Dashboard does not commit the transaction (#29776)
     add 0d62bb2261 fix(translations): Translate embedded errors (#29782)
     add da46ad4013 feat: adding AntdThemeProvider to storybook config (#29795)
     add 20adae8b21 build(deps-dev): bump webpack from 5.89.0 to 5.93.0 in /superset-frontend (#29765)
     add 2b4a8e9083 build(deps): bump @types/lodash from 4.17.0 to 4.17.7 in /superset-frontend (#29755)
     add c094ac3584 style: remove uppercase from labels, buttons, tabs to align with design system (#29673)
     add c5829419e3 feat: get html (links/styling/img/...) to work in pivot table (#29724)
     add 5d06b01fd6 chore: deleting vestigial EMAIL_NOTIFICATIONS (#29792)
     add 59e366ce90 fix(ci): release process for labeling PRs (#29688)
     add 66eb9593d1 fix(list/chart views): Chart Properties modal now has transitions (#28796)
     add 2cbd945692 fix: bump packages to unblock ci (#29805)
     add 249f5ec31a fix: Downgrade of revision 678eefb4ab44 throws error (#29799)
     add d143b24232 perf: Lazy load React Ace (#29796)
     add 5936e8dbca perf: Antd icons tree shaking (#29787)
     add 71786dba64 fix(ci): remove unused "type: ignore" comment to unblock precommit check in CI (#29830)
     add 1d2dee8a4e build(deps): bump rimraf from 3.0.2 to 6.0.1 in /superset-frontend (#29758)
     add e623d745f5 fix: set default timezone to UTC for cron timezone conversions (#29798)
     add 4d9fd1b045 build(deps-dev): bump @types/node from 22.0.0 to 22.0.2 in /superset-websocket (#29811)
     add 516f3663c0 build(deps-dev): bump @types/jest from 27.0.2 to 29.5.12 in /superset-websocket (#29809)
     add 5339f3dffa build(deps): bump memoize-one from 5.1.1 to 5.2.1 in /superset-frontend (#29821)
     add ebbef827ff build(deps-dev): bump style-loader from 3.3.4 to 4.0.0 in /superset-frontend (#29820)
     add 91faa3593a build(deps-dev): bump @types/react-syntax-highlighter from 15.5.11 to 15.5.13 in /superset-frontend (#29816)
     add eaaa44c6c1 build(deps): bump mustache from 2.3.2 to 4.2.0 in /superset-frontend (#29815)
     add 26e1779f20 build(deps): bump chrono-node from 2.7.5 to 2.7.6 in /superset-frontend (#29813)
     add 74e811706b build(deps): bump @fontsource/inter from 5.0.19 to 5.0.20 in /superset-frontend (#29812)
     add d1ea4abb12 build(deps-dev): bump eslint-plugin-file-progress from 1.2.0 to 1.4.0 in /superset-frontend (#29759)
     add 5ff259e870 build(deps): bump react-diff-viewer-continued from 3.2.5 to 3.4.0 in /superset-frontend (#29756)
     add 40520c54d4 build(deps): bump react-bootstrap-slider from 2.1.5 to 3.0.0 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28294)
     add 57e8cd2ba2 fix: pass slack recipients correctly (#29721)
     add c87a4fd642 chore(deps): npm audit fix results (#29838)
     add 5a3b1ee3fd fix: machine auth for GAQ enabled deployments (#29591)
     add ecb9ff0f8a build(deps-dev): update @babel/types requirement from ^7.24.5 to ^7.25.2 in /superset-frontend/plugins/plugin-chart-pivot-table (#29808)
     add 27c08d0e0e refactor(controls): Migrate MetricDefinitionValue.test to RTL (#29845)
     add 819597faf6 refactor(controls): Migrate AdhocMetricOption.test to RTL (#29843)
     add 6bc8567802 refactor(ChartCreation): Migrate tests to RTL (#29674)
     add e2eb9fe35e fix: Add missing icons (#29851)
     add 9c058fee7a perf: Lazy load moment-timezone (#29791)
     add d877d46557 refactor(Slider): Upgrade Slider to Antd 5 (#29786)
     add f1136b57dd perf: Remove antd-with-locales import (#29788)
     add 5b5f448af0 perf: Lazy load rehype-raw and react-markdown (#29855)
     add aa26ca5c27 fix(docs): update timescale.png (#24411)
     add 4a06e830ca chore: describe timezone issue with alerts and reports scheduler in UPDATING.md (#29863)
     add c27db070db fix: mypy fails related to simplejson.dumps (#29861)
     add 422aa6b657 chore: Add the 4.1 release notes (#29262)
     add 7eb3ca408f chore(cleanup): Removing bootstrap (experimental) (#29844)
     add e011c91921 chore: pre-matrixify pre-commit check (#29866)
     add 9fed576cb4 fix: update celery config imports (#29862)
     add 1c3ef01209 chore(build): uplift several outdated frontend packages (#29652)
     add 61c0970968 fix: create permissions on DB import (#29802)
     add 052b38bdf3 fix(capitalization): Capitalizing a button. (#29867)
     add e16ba28a8c docs: add unit to companies list (#29870)
     add fede4f9f1b chore(deps): bumping jquery (#29841)
     add c7dc4dc7fc fix: mypy issue on py3.9 + prevent similar issues (#29864)
     add 226b755798 chore(docs): reorder fs users (#29876)
     add 0c3aa7d8fe fix: load slack channels earlier (#29846)
     add db1d77cba2 chore(deps): bumping underscore via npm override (#29859)
     add c220245414 perf: Implement Echarts treeshaking (#29874)
     add 9b95accf6b feat(build): webpack visualizer (#29875)
     add 56e59b47fe chore: remove useless GitHub action required check (#29869)
     add e77f755765 chore: remove useless GitHub action (#29868)
     add fb6efb9e9a fix(PivotTable): Pass string only to safeHtmlSpan (#29895)
     add 38d64e8dd2 fix: add mutator to get_columns_description (#29885)
     add b323bf0fb6 fix(Embedded): Deleting Embedded Dashboards does not commit the transaction (#29894)
     add fb7f50868d fix: Error when downgrading add_catalog_perm_to_tables migration (#29906)
     add 222c46f639 chore: Changes the migrations owners (#29904)
     add 57a4199f52 chore: Logs the duration of migrations execution (#29893)
     add c016ca5ad9 feat: Enable injecting custom html into head (#29917)
     add 050c6daff3 fix(cli): add impersonate_user to db import (#29522)
     add 9f5eb899e8 fix: add imports back to celery file (#29921)
     add 39209c2b40 fix: handle empty catalog when DB supports them (#29840)
     add f5d614d80d fix: Rename database from 'couchbasedb' to 'couchbase' in documentation and db_engine_specs (#29911)
     add fe5242a876 fix: Fix delete_fake_db (#29935)
     add 5c9a882226 build(deps-dev): bump axios from 1.6.0 to 1.7.4 in /superset-embedded-sdk (#29946)
     add e38f2f990c build(deps-dev): bump axios from 1.7.3 to 1.7.4 in /superset-frontend (#29949)
     add edd94b66e5 build(deps): bump axios from 1.6.8 to 1.7.4 in /docs (#29945)
     add 88d07ce603 fix: only show dataset name in list (#29944)
     add 56f75922b9 chore: add additional code owners to migrations (#29952)
     add 47715c39d0 fix(embedded): Remove CSRF requirement for dashboard download API (#29953)
     add e8f5d7680f fix: upgrade_catalog_perms and downgrade_catalog_perms implementation (#29860)
     add 2cc07e6112 fix: try to prevent deadlocks when running upgrade (#29625)
     add a225f329c5 feat(docs): fix bug google chrome < 114 not found (#29941)
     add 6e1ef193dd fix(sqllab): Add abort call on query refresh timeout (#29956)
     add bac61fc24e chore: Allow auto pruning of the query table (#29936)
     add 5bd6e92cb8 chore(deps): bump micromatch (#29948)
     add 955db48c59 chore: Update to Dockerfile to get creating releases to work (#29937)
     add 7e88649730 fix: thumbnail url json response was malformed (#29938)
     add 5ec3093deb chore(antd): straightening out button import paths (#29969)
     add 907fc8a713 build(deps-dev): bump eslint-plugin-cypress from 2.11.2 to 3.4.0 in /superset-frontend + corresponding refactor (#29964)
     add cf083bf827 fix(i18n): translation fix in server side generated time grains (#29951)
     add 175ba78d32 docs: improve pre-commit docs and discoverability when CI fails (#29970)
     add 1818054166 chore(tests): Spelling (#25454)
     add 7650c47e72 fix: Gamma users shouldn't be able to create roles (#29687)
     add f926449569 build(deps): bump d3-format

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   (91b21e22a8)
            \
             N -- N -- N   refs/heads/dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-core/d3-format-3.1.0 (f926449569)

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                                          |      8 +-
 .github/CODEOWNERS                                 |      2 +-
 .github/ISSUE_TEMPLATE/bug-report.yml              |      2 +-
 .github/dependabot.yml                             |      5 +-
 .github/workflows/bashlib.sh                       |     14 +
 .github/workflows/bump-python-package.yml          |      2 +-
 .github/workflows/cancel_duplicates.yml            |      2 +-
 .github/workflows/check_db_migration_confict.yml   |      4 +-
 .github/workflows/codeql-analysis.yml              |      2 +-
 .github/workflows/dependency-review.yml            |      2 +-
 .github/workflows/docker.yml                       |      6 +-
 .github/workflows/embedded-sdk-release.yml         |      6 +-
 .github/workflows/embedded-sdk-test.yml            |      2 +-
 .github/workflows/ephemeral-env-pr-close.yml       |      4 +-
 .github/workflows/ephemeral-env.yml                |      8 +-
 .github/workflows/generate-FOSSA-report.yml        |      6 +-
 .github/workflows/github-action-validator.yml      |      4 +-
 .github/workflows/issue_creation.yml               |      2 +-
 .github/workflows/labeler.yml                      |      2 +-
 .github/workflows/latest-release-tag.yml           |      2 +-
 .github/workflows/license-check.yml                |      2 +-
 .github/workflows/no-hold-label.yml                |      2 +-
 .github/workflows/pr-lint.yml                      |      2 +-
 .github/workflows/pre-commit.yml                   |     18 +-
 .github/workflows/prefer-typescript.yml            |      4 +-
 .github/workflows/release.yml                      |      6 +-
 .github/workflows/superset-applitool-cypress.yml   |      4 +-
 .../workflows/superset-applitools-storybook.yml    |      4 +-
 .github/workflows/superset-cli.yml                 |      4 +-
 .github/workflows/superset-docs-deploy.yml         |      8 +-
 .github/workflows/superset-docs-verify.yml         |     29 +-
 .github/workflows/superset-e2e.yml                 |     18 +-
 .github/workflows/superset-frontend.yml            |      6 +-
 .github/workflows/superset-helm-lint.yml           |      2 +-
 .github/workflows/superset-helm-release.yml        |      4 +-
 .../workflows/superset-python-integrationtest.yml  |     28 +-
 .github/workflows/superset-python-misc.yml         |     53 -
 .github/workflows/superset-python-presto-hive.yml  |     18 +-
 .github/workflows/superset-python-unittest.yml     |      4 +-
 .github/workflows/superset-translations.yml        |      6 +-
 .github/workflows/superset-websocket.yml           |      4 +-
 .github/workflows/supersetbot.yml                  |      2 +-
 .github/workflows/tag-release.yml                  |     37 +-
 .github/workflows/tech-debt.yml                    |      6 +-
 .github/workflows/update-monorepo-lockfiles.yml    |     52 -
 .github/workflows/welcome-new-users.yml            |      2 +-
 .gitignore                                         |      6 +
 .pre-commit-config.yaml                            |      2 +
 .rat-excludes                                      |      1 +
 CHANGELOG.md                                       |      1 +
 CHANGELOG/4.0.2.md                                 |     78 +
 CODE_OF_CONDUCT.md                                 |      5 +-
 README.md                                          |     16 +-
 RELEASING/Dockerfile.from_local_tarball            |      7 +-
 RELEASING/Dockerfile.make_tarball                  |      4 +-
 RELEASING/README.md                                |     16 +-
 RELEASING/release-notes-1-0/README.md              |      4 +-
 RELEASING/release-notes-1-5/README.md              |      2 +-
 RELEASING/release-notes-4-1/README.md              |    131 +
 .../release-notes-4-1/media/big_number_chart.png   |    Bin 0 -> 112940 bytes
 .../release-notes-4-1/media/columnar_modal_1.png   |    Bin 0 -> 60210 bytes
 .../release-notes-4-1/media/columnar_modal_2.png   |    Bin 0 -> 44706 bytes
 .../release-notes-4-1/media/columnar_modal_3.png   |    Bin 0 -> 49899 bytes
 RELEASING/release-notes-4-1/media/csv_modal_1.png  |    Bin 0 -> 67512 bytes
 RELEASING/release-notes-4-1/media/csv_modal_2.png  |    Bin 0 -> 74493 bytes
 RELEASING/release-notes-4-1/media/csv_modal_3.png  |    Bin 0 -> 56511 bytes
 RELEASING/release-notes-4-1/media/csv_modal_4.png  |    Bin 0 -> 50440 bytes
 .../release-notes-4-1/media/excel_modal_1.png      |    Bin 0 -> 69201 bytes
 .../release-notes-4-1/media/excel_modal_2.png      |    Bin 0 -> 60322 bytes
 .../release-notes-4-1/media/excel_modal_3.png      |    Bin 0 -> 53868 bytes
 .../release-notes-4-1/media/excel_modal_4.png      |    Bin 0 -> 50251 bytes
 RELEASING/release-notes-4-1/media/heatmap.png      |    Bin 0 -> 135513 bytes
 RELEASING/release-notes-4-1/media/histogram.png    |    Bin 0 -> 522655 bytes
 RELEASING/release-notes-4-1/media/sankey.png       |    Bin 0 -> 632129 bytes
 RELEASING/release-notes-4-1/media/slack_modal.png  |    Bin 0 -> 65868 bytes
 .../release-notes-4-1/media/table_with_time.png    |    Bin 0 -> 172081 bytes
 RELEASING/release-notes-4-1/media/tooltips.png     |    Bin 0 -> 371925 bytes
 RESOURCES/FEATURE_FLAGS.md                         |      5 +-
 RESOURCES/INTHEWILD.md                             |     34 +-
 UPDATING.md                                        |     13 +-
 docker-compose.yml                                 |      1 +
 docker/docker-frontend.sh                          |     10 +-
 docker/docker-init.sh                              |      4 +-
 docker/pythonpath_dev/superset_config.py           |      8 +-
 .../pythonpath_dev/superset_config_local.example   |      2 +-
 docs/data/countries.json                           |      1 +
 docs/docs/configuration/alerts-reports.mdx         |     24 +-
 docs/docs/configuration/configuring-superset.mdx   |    116 +-
 docs/docs/configuration/databases.mdx              |     37 +
 docs/docs/contributing/contributing.mdx            |      6 +-
 docs/docs/contributing/development.mdx             |     83 +-
 docs/docs/contributing/guidelines.mdx              |     10 +-
 docs/docs/contributing/howtos.mdx                  |     28 +-
 docs/docs/faq.mdx                                  |      4 +-
 docs/docs/installation/architecture.mdx            |     68 +
 docs/docs/installation/docker-builds.mdx           |     11 +-
 docs/docs/installation/docker-compose.mdx          |     30 +-
 docs/docs/installation/kubernetes.mdx              |      7 +-
 docs/docs/installation/pypi.mdx                    |     32 +-
 docs/docs/installation/upgrading-superset.mdx      |      2 +-
 docs/docs/quickstart.mdx                           |      7 +
 docs/docs/security/cves.mdx                        |     18 +-
 .../creating-your-first-dashboard.mdx              |      4 +-
 docs/docusaurus.config.js                          |      4 +
 docs/package.json                                  |     27 +-
 docs/src/intro_header.txt                          |      4 +
 docs/src/resources/data.js                         |     10 +
 docs/static/img/databases/couchbase.svg            |     19 +
 docs/static/img/databases/oceanbase.svg            |     67 +
 docs/static/img/databases/timescale.png            |    Bin 16120 -> 10894 bytes
 docs/yarn.lock                                     |    566 +-
 pyproject.toml                                     |     22 +-
 scripts/change_detector.py                         |      2 +-
 scripts/cypress_run.py                             |     11 +-
 scripts/permissions_cleanup.py                     |      7 +-
 scripts/python_tests.sh                            |      1 +
 scripts/tests/README.md                            |     26 +-
 scripts/tests/run.sh                               |      6 +
 scripts/translations/babel_update.sh               |      6 +
 superset-embedded-sdk/README.md                    |     15 +-
 superset-embedded-sdk/package-lock.json            |   5953 +-
 superset-embedded-sdk/package.json                 |      6 +-
 .../src/guestTokenRefresh.test.ts                  |      2 +-
 superset-embedded-sdk/src/index.ts                 |      9 +-
 superset-frontend/.prettierignore                  |      2 +
 superset-frontend/.storybook/main.js               |      2 +-
 superset-frontend/.storybook/preview.jsx           |      9 +-
 superset-frontend/cypress-base/cypress.config.ts   |      2 +-
 .../cypress/e2e/chart_list/list.test.ts            |     21 +-
 .../cypress/e2e/dashboard/drillby.test.ts          |     57 +-
 .../cypress/e2e/dashboard/drilltodetail.test.ts    |    152 +-
 .../cypress/e2e/dashboard/editmode.test.ts         |     58 +-
 .../cypress/e2e/dashboard/nativeFilters.test.ts    |      2 +-
 .../cypress/e2e/dashboard/tabs.test.ts             |     11 +-
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |     28 +-
 .../cypress/e2e/dashboard_list/list.test.ts        |      3 +-
 .../cypress/e2e/database/modal.test.ts             |     12 +-
 .../cypress/e2e/explore/AdhocMetrics.test.ts       |     10 +-
 .../cypress/e2e/explore/_skip.AdhocFilters.test.ts |     26 +-
 .../cypress/e2e/explore/advanced_analytics.test.ts |      2 +-
 .../cypress/e2e/explore/control.test.ts            |     94 +-
 .../cypress-base/cypress/e2e/explore/link.test.ts  |     16 +-
 .../e2e/explore/visualizations/area.test.js        |      5 +-
 .../e2e/explore/visualizations/box_plot.test.js    |      5 +-
 .../e2e/explore/visualizations/bubble.test.js      |     30 +-
 .../e2e/explore/visualizations/compare.test.js     |      8 +-
 .../e2e/explore/visualizations/dist_bar.test.js    |      8 +-
 .../e2e/explore/visualizations/gauge.test.js       |      5 +-
 .../e2e/explore/visualizations/graph.test.ts       |      5 +-
 .../e2e/explore/visualizations/histogram.test.ts   |      5 +-
 .../e2e/explore/visualizations/line.test.ts        |     13 +-
 .../cypress/e2e/explore/visualizations/pie.test.js |      5 +-
 .../e2e/explore/visualizations/sankey.test.js      |      5 +-
 .../e2e/explore/visualizations/sunburst.test.js    |      5 +-
 .../e2e/explore/visualizations/table.test.ts       |      3 +-
 .../e2e/explore/visualizations/world_map.test.js   |      7 +-
 .../cypress-base/cypress/e2e/sqllab/query.test.ts  |     43 +-
 .../cypress-base/cypress/support/directories.ts    |      2 +-
 .../cypress-base/cypress/utils/index.ts            |     20 +-
 superset-frontend/cypress-base/package-lock.json   |    109 +-
 superset-frontend/cypress-base/package.json        |      4 +-
 superset-frontend/jest.config.js                   |     15 +-
 superset-frontend/lerna.json                       |      5 +-
 superset-frontend/package-lock.json                | 150405 +++++++-----------
 superset-frontend/package.json                     |    132 +-
 .../generator-superset/.eslintrc}                  |      8 +-
 .../generator-superset/generators/app/index.js     |     21 +-
 .../generators/plugin-chart/index.js               |     15 +-
 .../plugin-chart/templates/package-lock.erb        |      2 +-
 .../generators/plugin-chart/templates/package.erb  |      2 +-
 .../packages/generator-superset/jest.config.js     |      3 +-
 .../packages/generator-superset/package.json       |     20 +-
 .../packages/generator-superset/test/app.test.js   |     32 +-
 .../generator-superset/test/plugin-chart.test.js   |     67 +-
 .../superset-ui-chart-controls/package.json        |      4 +-
 .../src/ace-builds.d.ts}                           |      4 +-
 .../src/components/Dropdown.tsx}                   |      4 +-
 .../src/components/Menu.tsx}                       |      4 +-
 .../src/components/SQLPopover.tsx                  |     17 +-
 .../superset-ui-chart-controls/src/index.ts        |      4 +-
 .../src/sections/timeComparison.tsx                |      2 +-
 .../src/shared-controls/sharedControls.tsx         |      9 +
 .../superset-ui-chart-controls/src/types.ts        |      3 +
 .../packages/superset-ui-core/package.json         |     13 +-
 .../src/color/CategoricalColorScale.ts             |    217 +-
 ...olorSingleton.ts => LabelsColorMapSingleton.ts} |     74 +-
 .../packages/superset-ui-core/src/color/index.ts   |      8 +-
 .../packages/superset-ui-core/src/color/utils.ts   |      5 +-
 .../src/components/SafeMarkdown.tsx                |     24 +-
 .../useComponentDidUpdate/useComponentDidUpdate.ts |     10 +-
 .../src/query/getClientErrorObject.ts              |    111 +-
 .../superset-ui-core/src/query/types/Operator.ts   |      1 +
 .../src/time-comparison/customTimeRangeDecode.ts}  |     94 +-
 .../src/time-comparison/getTimeOffset.ts           |    307 +-
 .../superset-ui-core/src/time-comparison/index.ts  |      7 +-
 .../superset-ui-core/src/time-comparison/types.ts  |     42 +
 .../superset-ui-core/src/ui-overrides/types.ts     |     11 +
 .../superset-ui-core/src/utils/featureFlags.ts     |      2 +
 .../superset-ui-core/src/utils/html.test.tsx       |     76 +
 .../packages/superset-ui-core/src/utils/html.tsx   |     55 +-
 .../test/color/CategoricalColorNameSpace.test.ts   |      2 +-
 .../test/color/CategoricalColorScale.test.ts       |    286 +-
 .../test/color/LabelsColorMapSingleton.test.ts     |    234 +
 .../test/color/SharedLabelColorSingleton.test.ts   |    201 -
 .../test/query/getClientErrorObject.test.ts        |    133 +-
 .../time-comparison/computeCustomDateTime.test.ts  |     80 +
 .../time-comparison/customTimeRangeDecode.test.ts  |    205 +
 .../test/time-comparison/fetchTimeRange.test.ts    |      1 +
 .../test/time-comparison/getTimeOffset.test.ts     |   1016 +-
 .../test/time-comparison/parseDttmToDate.test.ts   |    759 +-
 .../superset-ui-core/test/utils/logging.test.ts    |      6 +-
 .../packages/superset-ui-demo/.storybook/main.js   |      2 +-
 .../superset-ui-demo/.storybook/preview.js         |      5 +-
 .../packages/superset-ui-demo/package.json         |     20 +-
 .../BoxPlot/stories/basic.tsx                      |      4 +-
 .../{BoxPolot.stories.tsx => BoxPlot.stories.tsx}  |      0
 .../plugin-chart-word-cloud/WordCloud.stories.tsx  |     18 +-
 .../packages/superset-ui-demo/tsconfig.json        |      2 +-
 .../plugins/legacy-plugin-chart-chord/src/Chord.js |      4 +-
 .../legacy-plugin-chart-chord/src/controlPanel.ts  |     13 +-
 .../scripts/Country Map GeoJSON Generator.ipynb    |    260 +-
 .../src/countries.ts                               |      2 +
 .../src/countries/afghanistan.geojson              |      1 +
 .../src/countries/aland.geojson                    |      1 +
 .../src/countries/albania.geojson                  |      1 +
 .../src/countries/algeria.geojson                  |      1 +
 .../src/countries/american_samoa.geojson           |      1 +
 .../src/countries/andorra.geojson                  |      1 +
 .../src/countries/angola.geojson                   |      1 +
 .../src/countries/anguilla.geojson                 |      1 +
 .../src/countries/antarctica.geojson               |      1 +
 .../src/countries/antigua_and_barbuda.geojson      |      1 +
 .../src/countries/argentina.geojson                |      1 +
 .../src/countries/armenia.geojson                  |      1 +
 .../src/countries/australia.geojson                |      1 +
 .../src/countries/austria.geojson                  |      1 +
 .../src/countries/azerbaijan.geojson               |      1 +
 .../src/countries/bahrain.geojson                  |      1 +
 .../src/countries/bangladesh.geojson               |      1 +
 .../src/countries/barbados.geojson                 |      1 +
 .../src/countries/belarus.geojson                  |      1 +
 .../src/countries/belgium.geojson                  |      1 +
 .../src/countries/belize.geojson                   |      1 +
 .../src/countries/benin.geojson                    |      1 +
 .../src/countries/bermuda.geojson                  |      1 +
 .../src/countries/bhutan.geojson                   |      1 +
 .../src/countries/bolivia.geojson                  |      1 +
 .../src/countries/bosnia_and_herzegovina.geojson   |      1 +
 .../src/countries/botswana.geojson                 |      1 +
 .../src/countries/brazil.geojson                   |      1 +
 .../src/countries/brunei.geojson                   |      1 +
 .../src/countries/bulgaria.geojson                 |      1 +
 .../src/countries/burkina_faso.geojson             |      1 +
 .../src/countries/burundi.geojson                  |      1 +
 .../src/countries/cambodia.geojson                 |      1 +
 .../src/countries/cameroon.geojson                 |      1 +
 .../src/countries/canada.geojson                   |      1 +
 .../src/countries/cape_verde.geojson               |      1 +
 .../src/countries/central_african_republic.geojson |      1 +
 .../src/countries/chad.geojson                     |      1 +
 .../src/countries/chile.geojson                    |      1 +
 .../src/countries/china.geojson                    |      1 +
 .../src/countries/colombia.geojson                 |      1 +
 .../src/countries/comoros.geojson                  |      1 +
 .../src/countries/cook_islands.geojson             |      1 +
 .../src/countries/costa_rica.geojson               |      1 +
 .../src/countries/croatia.geojson                  |      1 +
 .../src/countries/cuba.geojson                     |      1 +
 .../src/countries/cyprus.geojson                   |      1 +
 .../src/countries/czech_republic.geojson           |      1 +
 .../democratic_republic_of_the_congo.geojson       |      1 +
 .../src/countries/denmark.geojson                  |      1 +
 .../src/countries/djibouti.geojson                 |      1 +
 .../src/countries/dominica.geojson                 |      1 +
 .../src/countries/dominican_republic.geojson       |      1 +
 .../src/countries/ecuador.geojson                  |      1 +
 .../src/countries/egypt.geojson                    |      1 +
 .../src/countries/el_salvador.geojson              |      1 +
 .../src/countries/equatorial_guinea.geojson        |      1 +
 .../src/countries/eritrea.geojson                  |      1 +
 .../src/countries/estonia.geojson                  |      1 +
 .../src/countries/ethiopia.geojson                 |      1 +
 .../src/countries/fiji.geojson                     |      1 +
 .../src/countries/finland.geojson                  |      1 +
 .../src/countries/france.geojson                   |      1 +
 .../src/countries/france_regions.geojson           |      1 +
 .../src/countries/french_polynesia.geojson         |      1 +
 .../src/countries/gabon.geojson                    |      1 +
 .../src/countries/gambia.geojson                   |      1 +
 .../src/countries/germany.geojson                  |      1 +
 .../src/countries/ghana.geojson                    |      1 +
 .../src/countries/greece.geojson                   |      1 +
 .../src/countries/greenland.geojson                |      1 +
 .../src/countries/grenada.geojson                  |      1 +
 .../src/countries/guatemala.geojson                |      1 +
 .../src/countries/guinea.geojson                   |      1 +
 .../src/countries/guyana.geojson                   |      1 +
 .../src/countries/haiti.geojson                    |      1 +
 .../src/countries/honduras.geojson                 |      1 +
 .../src/countries/hungary.geojson                  |     50 +
 .../src/countries/iceland.geojson                  |      1 +
 .../src/countries/india.geojson                    |      3 +-
 .../src/countries/indonesia.geojson                |      1 +
 .../src/countries/iran.geojson                     |      1 +
 .../src/countries/israel.geojson                   |      1 +
 .../src/countries/italy.geojson                    |      1 +
 .../src/countries/italy_regions.geojson            |      1 +
 .../src/countries/japan.geojson                    |      1 +
 .../src/countries/jordan.geojson                   |      1 +
 .../src/countries/kazakhstan.geojson               |      1 +
 .../src/countries/kenya.geojson                    |      1 +
 .../src/countries/korea.geojson                    |      1 +
 .../src/countries/kuwait.geojson                   |      1 +
 .../src/countries/kyrgyzstan.geojson               |      1 +
 .../src/countries/laos.geojson                     |      1 +
 .../src/countries/latvia.geojson                   |      1 +
 .../src/countries/lebanon.geojson                  |      1 +
 .../src/countries/lesotho.geojson                  |      1 +
 .../src/countries/liberia.geojson                  |      1 +
 .../src/countries/libya.geojson                    |      1 +
 .../src/countries/liechtenstein.geojson            |      1 +
 .../src/countries/lithuania.geojson                |      1 +
 .../src/countries/luxembourg.geojson               |      1 +
 .../src/countries/macedonia.geojson                |      1 +
 .../src/countries/madagascar.geojson               |      1 +
 .../src/countries/malawi.geojson                   |      1 +
 .../src/countries/malaysia.geojson                 |      1 +
 .../src/countries/maldives.geojson                 |      1 +
 .../src/countries/mali.geojson                     |      1 +
 .../src/countries/malta.geojson                    |      1 +
 .../src/countries/marshall_islands.geojson         |      1 +
 .../src/countries/mauritania.geojson               |      1 +
 .../src/countries/mauritius.geojson                |      1 +
 .../src/countries/mexico.geojson                   |      1 +
 .../src/countries/moldova.geojson                  |      1 +
 .../src/countries/mongolia.geojson                 |      1 +
 .../src/countries/montenegro.geojson               |      1 +
 .../src/countries/montserrat.geojson               |      1 +
 .../src/countries/morocco.geojson                  |      1 +
 .../src/countries/mozambique.geojson               |      1 +
 .../src/countries/myanmar.geojson                  |      1 +
 .../src/countries/namibia.geojson                  |      1 +
 .../src/countries/nauru.geojson                    |      1 +
 .../src/countries/nepal.geojson                    |      1 +
 .../src/countries/netherlands.geojson              |      1 +
 .../src/countries/new_caledonia.geojson            |      1 +
 .../src/countries/new_zealand.geojson              |      1 +
 .../src/countries/nicaragua.geojson                |      1 +
 .../src/countries/niger.geojson                    |      1 +
 .../src/countries/nigeria.geojson                  |      1 +
 .../src/countries/northern_mariana_islands.geojson |      1 +
 .../src/countries/norway.geojson                   |      1 +
 .../src/countries/oman.geojson                     |      1 +
 .../src/countries/pakistan.geojson                 |      1 +
 .../src/countries/palau.geojson                    |      1 +
 .../src/countries/panama.geojson                   |      1 +
 .../src/countries/papua_new_guinea.geojson         |      1 +
 .../src/countries/paraguay.geojson                 |      1 +
 .../src/countries/peru.geojson                     |      1 +
 .../src/countries/philippines.geojson              |      1 +
 .../src/countries/philippines_regions.geojson      |      1 +
 .../src/countries/poland.geojson                   |      1 +
 .../src/countries/portugal.geojson                 |      1 +
 .../src/countries/qatar.geojson                    |      1 +
 .../src/countries/romania.geojson                  |      1 +
 .../src/countries/russia.geojson                   |      1 +
 .../src/countries/rwanda.geojson                   |      1 +
 .../src/countries/saint_lucia.geojson              |      1 +
 .../countries/saint_pierre_and_miquelon.geojson    |      1 +
 .../saint_vincent_and_the_grenadines.geojson       |      1 +
 .../src/countries/samoa.geojson                    |      1 +
 .../src/countries/san_marino.geojson               |      1 +
 .../src/countries/sao_tome_and_principe.geojson    |      1 +
 .../src/countries/saudi_arabia.geojson             |      1 +
 .../src/countries/senegal.geojson                  |      1 +
 .../src/countries/seychelles.geojson               |      1 +
 .../src/countries/sierra_leone.geojson             |      1 +
 .../src/countries/singapore.geojson                |      1 +
 .../src/countries/slovakia.geojson                 |      1 +
 .../src/countries/slovenia.geojson                 |      1 +
 .../src/countries/solomon_islands.geojson          |      1 +
 .../src/countries/somalia.geojson                  |      1 +
 .../src/countries/south_africa.geojson             |      1 +
 .../src/countries/spain.geojson                    |      1 +
 .../src/countries/sri_lanka.geojson                |      1 +
 .../src/countries/sudan.geojson                    |      1 +
 .../src/countries/suriname.geojson                 |      1 +
 .../src/countries/sweden.geojson                   |      1 +
 .../src/countries/switzerland.geojson              |      1 +
 .../src/countries/syria.geojson                    |      1 +
 .../src/countries/taiwan.geojson                   |      1 +
 .../src/countries/tajikistan.geojson               |      1 +
 .../src/countries/tanzania.geojson                 |      1 +
 .../src/countries/thailand.geojson                 |      1 +
 .../src/countries/the_bahamas.geojson              |      1 +
 .../src/countries/timorleste.geojson               |      1 +
 .../src/countries/togo.geojson                     |      1 +
 .../src/countries/tonga.geojson                    |      1 +
 .../src/countries/trinidad_and_tobago.geojson      |      1 +
 .../src/countries/tunisia.geojson                  |      1 +
 .../src/countries/turkey.geojson                   |      1 +
 .../src/countries/turkey_regions.geojson           |      1 +
 .../src/countries/turkmenistan.geojson             |      1 +
 .../src/countries/turks_and_caicos_islands.geojson |      1 +
 .../src/countries/uganda.geojson                   |      1 +
 .../src/countries/uk.geojson                       |      1 +
 .../src/countries/ukraine.geojson                  |      1 +
 .../src/countries/united_arab_emirates.geojson     |      1 +
 .../united_states_minor_outlying_islands.geojson   |      1 +
 .../countries/united_states_virgin_islands.geojson |      1 +
 .../src/countries/uruguay.geojson                  |      1 +
 .../src/countries/usa.geojson                      |      1 +
 .../src/countries/uzbekistan.geojson               |      1 +
 .../src/countries/vanuatu.geojson                  |      1 +
 .../src/countries/venezuela.geojson                |      1 +
 .../src/countries/vietnam.geojson                  |      1 +
 .../src/countries/wallis_and_futuna.geojson        |      1 +
 .../src/countries/yemen.geojson                    |      1 +
 .../src/countries/zambia.geojson                   |      1 +
 .../src/countries/zimbabwe.geojson                 |      1 +
 .../src/controlPanel.tsx                           |     13 +-
 .../src/Histogram.jsx                              |      2 +-
 .../legacy-plugin-chart-partition/package.json     |      2 +-
 .../legacy-plugin-chart-partition/src/Partition.js |      2 +-
 .../plugins/legacy-plugin-chart-rose/src/Rose.js   |     14 +-
 .../legacy-plugin-chart-sankey/src/Sankey.js       |      2 +-
 .../legacy-plugin-chart-sankey/src/controlPanel.ts |     13 +-
 .../legacy-plugin-chart-sankey/src/index.js        |      2 +-
 .../src/controlPanel.ts                            |     13 +-
 .../legacy-preset-chart-deckgl/package.json        |      6 +-
 .../src/CategoricalDeckGLContainer.tsx             |     10 +-
 .../legacy-preset-chart-nvd3/src/NVD3Vis.js        |      4 +-
 .../legacy-preset-chart-nvd3/src/transformProps.js |      4 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     19 +-
 .../BigNumberPeriodOverPeriod/buildQuery.ts        |     35 +-
 .../BigNumberPeriodOverPeriod/transformProps.ts    |     37 +-
 .../BigNumber/BigNumberPeriodOverPeriod/types.ts   |      1 +
 .../src/BigNumber/BigNumberTotal/controlPanel.ts   |      2 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |      2 +-
 .../BigNumberWithTrendline/transformProps.ts       |      2 +-
 .../plugin-chart-echarts/src/BigNumber/types.ts    |      2 +-
 .../src/BoxPlot/transformProps.ts                  |     11 +-
 .../src/Bubble/transformProps.ts                   |      3 +-
 .../src/Funnel/controlPanel.tsx                    |      6 +-
 .../src/Funnel/transformProps.ts                   |      7 +-
 .../plugin-chart-echarts/src/Gauge/constants.ts    |      2 +-
 .../src/Gauge/controlPanel.tsx                     |     13 +-
 .../src/Gauge/transformProps.ts                    |     11 +-
 .../plugin-chart-echarts/src/Graph/constants.ts    |      2 +-
 .../src/Graph/transformProps.ts                    |      7 +-
 .../plugin-chart-echarts/src/Graph/types.ts        |      4 +-
 .../src/Heatmap/transformProps.ts                  |      9 +-
 .../src/Histogram/transformProps.ts                |      8 +-
 .../src/MixedTimeseries/transformProps.ts          |      3 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |     27 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |     53 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |      2 +
 .../src/Radar/transformProps.ts                    |      9 +-
 .../plugin-chart-echarts/src/Sankey/Sankey.tsx}    |     27 +-
 .../plugin-chart-echarts/src/Sankey/buildQuery.ts} |     20 +-
 .../src/Sankey/controlPanel.tsx}                   |     46 +-
 .../src/Sankey/images/example1.png                 |    Bin 0 -> 151732 bytes
 .../src/Sankey/images/example2.png                 |    Bin 0 -> 101327 bytes
 .../src/Sankey/images/thumbnail.png                |    Bin 0 -> 59782 bytes
 .../plugin-chart-echarts/src/Sankey/index.ts       |     66 +
 .../src/Sankey/transformProps.ts                   |    127 +
 .../src/Sankey}/types.ts                           |     26 +-
 .../src/Sunburst/controlPanel.tsx                  |     13 +-
 .../src/Sunburst/transformProps.ts                 |      4 +-
 .../plugin-chart-echarts/src/Sunburst/types.ts     |      2 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |      6 +-
 .../src/Timeseries/transformProps.ts               |     12 +-
 .../src/Timeseries/transformers.ts                 |     20 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |      2 +-
 .../plugin-chart-echarts/src/Tree/constants.ts     |      2 +-
 .../src/Tree/transformProps.ts                     |      7 +-
 .../plugins/plugin-chart-echarts/src/Tree/types.ts |      4 +-
 .../src/Treemap/controlPanel.tsx                   |     13 +-
 .../src/Treemap/transformProps.ts                  |      9 +-
 .../plugin-chart-echarts/src/Treemap/types.ts      |      2 +-
 .../src/Waterfall/transformProps.ts                |      5 +-
 .../plugin-chart-echarts/src/Waterfall/types.ts    |      4 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |     59 +-
 .../plugins/plugin-chart-echarts/src/index.ts      |      2 +
 .../plugins/plugin-chart-echarts/src/types.ts      |      6 +-
 .../plugin-chart-echarts/src/utils/forecast.ts     |      4 +-
 .../plugin-chart-echarts/src/utils/series.ts       |      4 +-
 .../plugin-chart-echarts/src/utils/tooltip.ts      |      2 +-
 .../test/Pie/transformProps.test.ts                |    114 +
 .../test/Timeseries/transformProps.test.ts         |      1 -
 .../plugins/plugin-chart-handlebars/package.json   |      2 +-
 .../src/plugin/controls/metrics.tsx                |      2 +-
 .../plugins/plugin-chart-pivot-table/package.json  |      4 +-
 .../src/PivotTableChart.tsx                        |      2 +
 .../src/plugin/controlPanel.tsx                    |     14 +-
 .../src/plugin/transformProps.ts                   |      2 +
 .../src/react-pivottable/TableRenderers.jsx        |     22 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |      1 +
 .../plugins/plugin-chart-table/package.json        |      9 +-
 .../plugin-chart-table/src/DataTable/DataTable.tsx |     20 +-
 .../src/DataTable/components/SelectPageSize.tsx    |      7 +-
 .../src/DataTable/hooks/useSticky.tsx              |      4 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |      7 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    378 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     97 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    226 +-
 .../plugin-chart-table/src/transformProps.ts       |    431 +-
 .../plugins/plugin-chart-table/src/types.ts        |     15 +
 .../plugin-chart-table/test/TableChart.test.tsx    |    110 +
 .../plugins/plugin-chart-table/test/testData.ts    |    128 +
 .../src/chart/WordCloud.tsx                        |      9 +-
 .../plugins/plugin-chart-word-cloud/src/index.ts   |      2 -
 .../src/legacyPlugin/index.ts                      |     43 -
 .../src/legacyPlugin/transformProps.ts             |     84 -
 .../src/plugin/controlPanel.ts                     |     13 +-
 .../plugin-chart-word-cloud/src/plugin/index.ts    |      2 +-
 .../src/plugin/transformProps.ts                   |     55 +-
 .../test/{plugin => }/buildQuery.test.ts           |      4 +-
 .../test/legacyPlugin/transformProps.test.ts       |     74 -
 superset-frontend/scripts/build.js                 |      4 +-
 superset-frontend/spec/helpers/testing-library.tsx |     24 +-
 superset-frontend/src/GlobalStyles.tsx             |      2 -
 superset-frontend/src/SqlLab/actions/sqlLab.js     |    157 +-
 .../src/SqlLab/actions/sqlLab.test.js              |    126 +-
 .../components/AceEditorWrapper/useKeywords.ts     |      6 +-
 .../EditorAutoSync/EditorAutoSync.test.tsx         |     87 +-
 .../src/SqlLab/components/EditorAutoSync/index.tsx |     69 +-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |     17 +-
 .../src/SqlLab/components/QueryHistory/index.tsx   |      6 +-
 .../QueryLimitSelect/QueryLimitSelect.test.tsx     |     12 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |     78 +
 .../src/SqlLab/components/ResultSet/index.tsx      |     58 +-
 .../components/RunQueryActionButton/index.tsx      |     14 +-
 .../src/SqlLab/components/SaveQuery/index.tsx      |     14 +-
 .../components/ScheduleQueryButton/index.tsx       |     11 +-
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |      7 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |      4 +-
 .../SqlLab/components/SqlEditor/SqlEditor.test.tsx |     15 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    253 +-
 .../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx     |     37 +-
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |     12 +-
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |     17 +-
 .../src/SqlLab/components/TableElement/index.tsx   |      4 +-
 superset-frontend/src/SqlLab/fixtures.ts           |      3 +-
 .../middlewares/persistSqlLabStateEnhancer.js      |     16 +-
 .../src/SqlLab/reducers/getInitialState.test.ts    |     18 +-
 .../src/SqlLab/reducers/getInitialState.ts         |     16 +
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |     12 +
 .../src/SqlLab/reducers/sqlLab.test.js             |     17 +
 superset-frontend/src/SqlLab/types.ts              |      2 +
 .../src/SqlLab/utils/newQueryTabName.ts            |      4 +-
 superset-frontend/src/assets/images/couchbase.svg  |     19 +
 superset-frontend/src/assets/images/oceanbase.svg  |     67 +
 superset-frontend/src/assets/images/timescale.png  |    Bin 15319 -> 7221 bytes
 .../assets/stylesheets/less/cosmo/bootswatch.less  |      5 -
 .../src/assets/stylesheets/less/fonts.less         |      6 +-
 .../src/components/Alert/Alert.stories.tsx         |      3 +-
 .../{Slider => AntdThemeProvider}/index.tsx        |     15 +-
 .../AsyncAceEditor/AsyncAceEditor.stories.tsx      |      6 +-
 .../Tooltip.test.tsx}                              |     50 +-
 .../src/components/AsyncAceEditor/Tooltip.tsx      |     57 +
 .../src/components/AsyncAceEditor/index.tsx        |    104 +-
 .../src/components/Badge/Badge.stories.tsx         |     57 +-
 .../src/components/Badge/Badge.test.tsx            |      9 -
 superset-frontend/src/components/Badge/index.tsx   |     31 +-
 .../src/components/Button/Button.stories.tsx       |      6 +-
 superset-frontend/src/components/Button/index.tsx  |      3 +-
 .../components/ButtonGroup/ButtonGroup.stories.tsx |      6 +-
 .../components/Card/Card.test.tsx}                 |     11 +-
 superset-frontend/src/components/Card/index.tsx    |      7 +-
 .../CertifiedBadge/CertifiedBadge.stories.tsx      |      3 +
 superset-frontend/src/components/Chart/Chart.jsx   |      4 +-
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |     16 +-
 .../src/components/Chart/ChartRenderer.jsx         |      8 +-
 .../Chart/DrillBy/DrillByMenuItems.test.tsx        |     10 +-
 .../components/Chart/DrillBy/DrillByMenuItems.tsx  |    197 +-
 .../components/Chart/DrillBy/DrillByModal.test.tsx |      1 +
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |      7 +-
 .../Chart/DrillBy/useResultsTableView.test.ts      |      4 +-
 .../Chart/DrillBy/useResultsTableView.tsx          |      3 +
 .../Chart/DrillDetail/DrillDetailPane.tsx          |     15 +-
 .../components/Chart/MenuItemWithTruncation.tsx    |      3 +-
 .../src/components/Checkbox/Checkbox.stories.tsx   |      2 +-
 .../CopyToClipboard/CopyToClipboard.stories.tsx    |      3 +-
 .../DatabaseSelector/DatabaseSelector.test.tsx     |      4 +-
 .../src/components/DatabaseSelector/index.tsx      |      2 +-
 .../src/components/Datasource/CollectionTable.tsx  |      6 +-
 .../src/components/Datasource/DatasourceEditor.jsx |      8 +-
 .../components/DatePicker/DatePicker.stories.tsx   |      4 +-
 .../src/components/DeleteModal/index.tsx           |      1 -
 .../src/components/Dropdown/Dropdown.stories.tsx   |      3 +-
 .../DropdownButton/DropdownButton.stories.tsx      |      3 +-
 .../src/components/DropdownButton/index.tsx        |      1 -
 .../DropdownContainer/Overview.stories.tsx         |      1 -
 .../src/components/DynamicEditableTitle/index.tsx  |    267 +-
 .../components/ErrorMessage/BasicErrorAlert.tsx    |      2 +-
 superset-frontend/src/components/Form/FormItem.tsx |      1 -
 .../src/components/Form/FormLabel.tsx              |      2 -
 .../components/IconButton/IconButton.stories.tsx   |     12 +-
 .../components/IconTooltip/IconTooltip.stories.tsx |      3 +-
 .../src/components/Icons/AntdEnhanced.tsx          |    101 +-
 .../src/components/Icons/Icons.stories.tsx         |      6 +-
 .../components/InfoTooltip/InfoTooltip.stories.tsx |     30 +-
 .../src/components/InfoTooltip/index.tsx           |     15 +-
 .../src/components/ListView/ListView.test.jsx      |     72 +-
 superset-frontend/src/components/ListView/types.ts |      9 +-
 .../src/components/Loading/Loading.stories.tsx     |      3 +-
 .../src/components/MessageToasts/actions.ts        |      4 +-
 .../MetadataBar/MetadataBarOverview.stories.tsx    |    228 +-
 superset-frontend/src/components/Modal/Modal.tsx   |      1 -
 .../src/components/Popover/Popover.stories.tsx     |      6 +-
 .../PopoverDropdown/PopoverDropdown.stories.tsx    |     24 +-
 .../components/ProgressBar/ProgressBar.stories.tsx |     44 +-
 .../src/components/ProgressBar/index.tsx           |     15 +-
 .../src/components/Radio/Radio.stories.tsx         |      2 +-
 .../src/components/Select/Select.test.tsx          |     14 +
 superset-frontend/src/components/Select/Select.tsx |     12 +-
 .../src/components/Slider/Slider.stories.tsx       |     77 +-
 .../Slider/Slider.test.tsx}                        |     31 +-
 superset-frontend/src/components/Slider/index.tsx  |      8 +-
 .../src/components/Switch/Switch.stories.tsx       |      5 +-
 .../src/components/Table/Table.stories.tsx         |     34 +-
 .../src/components/Table/TableOverview.stories.tsx |     25 +-
 .../ActionCell/ActionCell.overview.tsx             |      1 -
 .../ActionCell/ActionCell.stories.tsx              |      6 +-
 .../BooleanCell/BooleanCell.stories.tsx            |      6 +-
 .../ButtonCell/ButtonCell.stories.tsx              |      8 +-
 .../cell-renderers/NullCell/NullCell.stories.tsx   |      6 +-
 .../NumericCell/NumericCell.stories.tsx            |      8 +-
 .../cell-renderers/TimeCell/TimeCell.stories.tsx   |     10 +-
 .../src/components/TableSelector/index.tsx         |      2 +-
 .../src/components/TableView/TableView.stories.tsx |      2 +-
 .../src/components/Tabs/Tabs.stories.tsx           |      2 +-
 superset-frontend/src/components/Tabs/Tabs.tsx     |      1 -
 .../components/Tags/Tag.stories.tsx}               |     15 +-
 superset-frontend/src/components/Tags/Tag.tsx      |      3 +-
 .../src/components/Tags/TagsList.stories.tsx       |      8 +-
 .../src/components/Timer/Timer.stories.tsx         |     18 +-
 .../TimezoneSelector.DaylightSavingTime.test.tsx   |     65 +
 .../TimezoneSelector/TimezoneSelector.stories.tsx  |      2 +-
 .../TimezoneSelector/TimezoneSelector.test.tsx     |     47 +-
 .../src/components/TimezoneSelector/index.tsx      |    152 +-
 .../src/components/Tooltip/Tooltip.stories.tsx     |      6 +-
 superset-frontend/src/components/index.ts          |      3 +-
 .../src/dashboard/actions/dashboardInfo.ts         |     39 +-
 .../src/dashboard/actions/dashboardState.js        |     80 +-
 superset-frontend/src/dashboard/actions/hydrate.js |     11 -
 .../components/AddSliceCard/AddSliceCard.tsx       |      2 -
 .../components/ColorSchemeControlWrapper.jsx       |      8 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     29 +-
 .../DashboardBuilder/DashboardContainer.tsx        |    118 +-
 .../DashboardBuilder/DashboardWrapper.test.tsx     |      4 +-
 .../dashboard/components/DashboardBuilder/state.ts |     14 +-
 .../dashboard/components/FiltersBadge/index.tsx    |      4 +-
 .../HeaderActionsDropdown.test.tsx                 |      7 +-
 .../Header/HeaderActionsDropdown/index.jsx         |     16 +-
 .../src/dashboard/components/Header/index.jsx      |     19 +-
 .../src/dashboard/components/Header/types.ts       |      6 +
 .../PropertiesModal/PropertiesModal.test.jsx       |     41 +-
 .../dashboard/components/PropertiesModal/index.tsx |     36 +-
 .../components/RefreshIntervalModal.test.tsx       |      2 +-
 .../src/dashboard/components/SliceHeader/index.tsx |      2 +
 .../components/SliceHeaderControls/index.tsx       |     15 +
 .../components/SyncDashboardState/index.tsx        |      4 +-
 .../dnd/handleScroll/handleScroll.test.ts          |      3 +-
 .../dashboard/components/gridComponents/Chart.jsx  |     22 +-
 .../components/gridComponents/Chart.test.jsx       |      8 +-
 .../dashboard/components/gridComponents/Tabs.jsx   |      1 +
 .../menu/DownloadMenuItems/DownloadAsPdf.test.tsx  |     66 -
 .../menu/DownloadMenuItems/DownloadAsPdf.tsx       |     55 -
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |      6 +-
 .../DownloadMenuItems/DownloadScreenshot.test.tsx  |    198 +
 .../menu/DownloadMenuItems/DownloadScreenshot.tsx  |    145 +
 .../components/menu/DownloadMenuItems/index.tsx    |     21 +-
 .../components/menu/DownloadMenuItems/types.ts}    |      6 +-
 .../src/dashboard/components/menu/HoverMenu.tsx    |      2 +-
 .../ScopingModal/ScopingModal.test.tsx             |     34 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |      6 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |      4 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |      2 +-
 .../components/nativeFilters/FilterCard/Styles.ts  |      1 -
 .../nativeFilters/FilterCard/useFilterScope.ts     |      9 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |     48 +-
 .../FiltersConfigForm/DependencyList.tsx           |      1 -
 .../FilterScope/FilterScope.test.tsx               |      1 +
 .../FiltersConfigForm/FiltersConfigForm.tsx        |     46 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |      1 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |      4 +
 .../FiltersConfigModal/FiltersConfigModal.tsx      |      2 +
 .../nativeFilters/FiltersConfigModal/utils.ts      |      4 +-
 .../components/nativeFilters/utils.test.ts         |      6 +-
 .../src/dashboard/containers/Chart.jsx             |     12 +-
 .../dashboard/containers/DashboardComponent.jsx    |      1 +
 .../src/dashboard/containers/DashboardPage.tsx     |     27 +-
 superset-frontend/src/dashboard/types.ts           |      1 +
 .../util/charts/getFormDataWithExtraFilters.ts     |     16 +-
 .../src/dashboard/util/newComponentFactory.js      |      4 +-
 .../src/dashboard/util/permissionUtils.test.ts     |      6 +-
 superset-frontend/src/embedded/index.tsx           |      8 +-
 .../src/explore/actions/exploreActions.test.js     |      5 +-
 .../components/ControlPanelsContainer.test.tsx     |     56 +
 .../explore/components/ControlPanelsContainer.tsx  |     10 +-
 .../explore/components/DataTableControl/index.tsx  |      5 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |      3 +
 .../components/DataTableControls.tsx               |      5 +-
 .../components/ResultsPaneOnDashboard.tsx          |      2 +
 .../DataTablesPane/components/SamplesPane.tsx      |      3 +
 .../components/SingleQueryResultPane.tsx           |      2 +
 .../DataTablesPane/components/useResultsPane.tsx   |      3 +
 .../DataTablesPane/test/DataTablesPane.test.tsx    |     28 +
 .../components/DataTablesPane/test/fixture.tsx     |      3 +
 .../src/explore/components/DataTablesPane/types.ts |      5 +
 .../explore/components/DatasourcePanel/index.tsx   |      3 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |     58 +-
 .../components/ExploreChartHeader/index.jsx        |     38 +-
 .../explore/components/ExploreChartPanel/index.jsx |      2 +
 .../ExploreViewContainer.test.tsx                  |     73 +
 .../components/ExploreViewContainer/index.jsx      |     15 +-
 .../explore/components/PropertiesModal/index.tsx   |     61 +-
 .../StashFormDataContainer.test.tsx                |     30 +-
 .../components/StashFormDataContainer/index.tsx    |      9 +-
 .../components/controls/CheckboxControl.test.tsx   |      1 -
 .../controls/CollectionControl/index.jsx           |      4 +-
 .../ColorSchemeControl/ColorSchemeControl.test.tsx |     13 +-
 .../ColorSchemeControl/ColorSchemeLabel.tsx        |     12 +-
 .../controls/ColorSchemeControl/index.tsx          |     14 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |     14 +-
 .../ColumnConfigControl/ControlForm/index.tsx      |      1 -
 .../components/controls/ComparisonRangeLabel.tsx   |     61 +-
 .../ConditionalFormattingControl.tsx               |      3 +
 .../FormattingPopover.tsx                          |      2 +
 .../FormattingPopoverContent.test.tsx              |    121 +
 .../FormattingPopoverContent.tsx                   |     42 +-
 .../controls/ConditionalFormattingControl/types.ts |      2 +
 .../controls/DateFilterControl/DateFilterLabel.tsx |      1 -
 .../DateFilterControl/components/CustomFrame.tsx   |     33 +-
 .../DateFilterControl/tests/CustomFrame.test.tsx   |     45 +-
 .../controls/DateFilterControl/tests/utils.test.ts |    115 +-
 .../controls/DateFilterControl/utils/constants.ts  |     28 +-
 .../DateFilterControl/utils/dateFilterUtils.ts     |      7 +-
 .../controls/DateFilterControl/utils/dateParser.ts |    144 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |      7 +
 .../DndFilterSelect.test.tsx                       |      1 +
 .../controls/FilterControl/AdhocFilter/index.js    |      1 +
 .../AdhocFilterControl/AdhocFilterControl.test.jsx |      1 -
 .../AdhocFilterEditPopover.test.jsx                |      1 -
 .../FilterControl/AdhocFilterEditPopover/index.jsx |      5 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |      3 +-
 .../AdhocFilterEditPopoverSqlTabContent.test.jsx   |     73 -
 .../AdhocFilterEditPopoverSqlTabContent.test.tsx   |     75 +
 .../AdhocFilterEditPopoverSqlTabContent/index.jsx  |     41 +-
 .../AdhocMetricEditPopover.test.jsx                |      1 -
 .../AdhocMetricEditPopover.test.tsx                |      7 +-
 .../MetricControl/AdhocMetricEditPopover/index.jsx |     12 +-
 .../MetricControl/AdhocMetricOption.test.jsx       |    101 +-
 .../MetricControl/FilterDefinitionOption.test.jsx  |      1 -
 .../MetricControl/MetricDefinitionOption.test.jsx  |     53 -
 .../MetricControl/MetricDefinitionOption.test.tsx  |     60 +
 .../MetricControl/MetricDefinitionValue.test.jsx   |     51 +-
 .../controls/MetricControl/MetricsControl.test.jsx |      1 -
 .../components/controls/SelectControl.test.jsx     |      1 -
 .../components/controls/TextAreaControl.test.jsx   |      1 -
 .../components/controls/TimeOffsetControl.tsx      |    148 +-
 .../components/controls/ViewportControl.test.jsx   |      1 -
 .../controls/VizTypeControl/FastVizSwitcher.tsx    |      2 -
 .../controls/VizTypeControl/VizTypeGallery.tsx     |      1 -
 .../useExploreAdditionalActionsMenu/index.jsx      |     30 +-
 superset-frontend/src/explore/constants.ts         |      8 +
 .../controlUtils/getColumnKeywords.test.tsx}       |     25 +-
 .../controlUtils/getColumnKeywords.tsx}            |     68 +-
 .../src/explore/exploreUtils/index.js              |      6 +-
 .../src/explore/reducers/exploreReducer.js         |     18 +-
 .../src/explore/reducers/exploreReducer.test.js    |     45 +
 .../src/features/alerts/AlertReportModal.test.tsx  |     37 +-
 .../src/features/alerts/AlertReportModal.tsx       |    224 +-
 .../alerts/components/NotificationMethod.test.tsx  |    483 +
 .../alerts/components/NotificationMethod.tsx       |    471 +-
 .../alerts/components/RecipientIcon.test.tsx       |     50 +
 .../features/alerts/components/RecipientIcon.tsx   |     14 +-
 superset-frontend/src/features/alerts/types.ts     |     45 +-
 .../src/features/dashboards/DashboardCard.test.tsx |     10 +-
 .../src/features/dashboards/DashboardCard.tsx      |      2 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |      6 +-
 .../databases/DatabaseModal/ExtraOptions.tsx       |     23 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |      1 -
 .../databases/DatabaseModal/index.test.tsx         |      4 +-
 .../src/features/databases/DatabaseModal/styles.ts |      3 -
 .../DatasetPanel/DatasetPanel.stories.tsx          |      6 +-
 superset-frontend/src/features/home/ChartTable.tsx |     15 +-
 .../src/features/home/RightMenu.test.tsx           |     27 +
 superset-frontend/src/features/home/RightMenu.tsx  |      6 +-
 .../src/features/queries/QueryPreviewModal.tsx     |      1 -
 .../features/queries/SavedQueryPreviewModal.tsx    |      1 -
 .../HeaderReportDropdown/index.test.tsx            |      3 +-
 .../reports/ReportModal/ReportModal.test.tsx       |      4 +-
 .../src/features/reports/ReportModal/index.tsx     |     10 +-
 superset-frontend/src/features/reports/types.ts    |      9 +-
 .../features/rls/RowLevelSecurityModal.test.tsx    |     32 +-
 .../src/hooks/apiResources/catalogs.ts             |     54 +-
 .../src/hooks/apiResources/schemas.test.ts         |     30 +-
 .../src/hooks/apiResources/schemas.ts              |     75 +-
 .../src/hooks/apiResources/sqlEditorTabs.test.ts   |     46 +-
 .../src/hooks/apiResources/sqlEditorTabs.ts        |     20 +-
 superset-frontend/src/hooks/apiResources/sqlLab.ts |      4 +-
 superset-frontend/src/hooks/apiResources/tables.ts |      8 +-
 .../src/hooks/strictBroadcastChannel.ts            |     63 +
 .../src/hooks/useDebounceValue.test.ts             |      1 +
 superset-frontend/src/hooks/useTabId.ts            |     28 +-
 superset-frontend/src/logger/LogUtils.ts           |     16 +
 superset-frontend/src/logger/useLogAction.test.ts  |     55 +
 .../dom-to-pdf.d.ts => logger/useLogAction.ts}     |     32 +-
 superset-frontend/src/middleware/logger.test.js    |     20 +-
 .../src/middleware/loggerMiddleware.js             |      4 +-
 .../src/pages/AlertReportList/index.tsx            |      4 +-
 superset-frontend/src/pages/AllEntities/index.tsx  |      1 -
 superset-frontend/src/pages/Chart/index.tsx        |     14 +-
 .../src/pages/ChartCreation/ChartCreation.test.tsx |    176 +-
 .../src/pages/ChartList/ChartList.test.jsx         |     13 +-
 superset-frontend/src/pages/ChartList/index.tsx    |     22 +-
 .../src/pages/DashboardList/DashboardList.test.jsx |      4 +-
 .../src/pages/DashboardList/index.tsx              |      2 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |    237 +-
 superset-frontend/src/pages/Home/index.tsx         |      2 +-
 .../pages/SavedQueryList/SavedQueryList.test.jsx   |      8 +-
 .../src/pages/SavedQueryList/index.tsx             |      2 +-
 superset-frontend/src/reduxUtils.ts                |      8 +-
 superset-frontend/src/theme/index.ts               |     84 +
 superset-frontend/src/theme/light.ts               |    119 +
 .../src/types/DashboardContextForExplore.ts        |      4 +-
 superset-frontend/src/types/ace-builds.ts          |      3 +-
 superset-frontend/src/utils/colorScheme.ts         |    140 +
 superset-frontend/src/utils/downloadAsPdf.ts       |     74 -
 superset-frontend/src/utils/export.ts              |      4 +-
 superset-frontend/src/utils/reducerUtils.js        |      6 +-
 superset-frontend/src/views/CRUD/utils.tsx         |     60 +-
 .../src/views/RootContextProviders.tsx             |     50 +-
 superset-frontend/src/views/store.ts               |      4 +-
 .../src/visualizations/presets/MainPreset.js       |      2 +
 superset-frontend/webpack.config.js                |     57 +-
 superset-websocket/README.md                       |     22 +-
 superset-websocket/package-lock.json               |   6915 +-
 superset-websocket/package.json                    |     15 +-
 superset-websocket/src/index.ts                    |      3 +
 superset-websocket/utils/README.md                 |      6 +-
 superset-websocket/utils/client-ws-app/README.md   |      8 +-
 .../utils/client-ws-app/package-lock.json          |     14 +-
 .../utils/client-ws-app/package.json               |      2 +-
 superset/app.py                                    |      4 +-
 superset/cachekeys/api.py                          |      8 +-
 superset/cachekeys/schemas.py                      |      4 +
 superset/charts/api.py                             |      7 +-
 superset/charts/data/api.py                        |     10 +-
 superset/charts/filters.py                         |     19 +-
 superset/cli/examples.py                           |      2 +
 superset/cli/main.py                               |      2 +
 superset/cli/reset.py                              |     74 +
 superset/cli/test.py                               |     11 +-
 superset/cli/update.py                             |      3 +
 superset/cli/viz_migrations.py                     |    151 +-
 .../commands/annotation_layer/annotation/create.py |     10 +-
 .../commands/annotation_layer/annotation/delete.py |     11 +-
 .../commands/annotation_layer/annotation/update.py |     12 +-
 superset/commands/annotation_layer/create.py       |     10 +-
 superset/commands/annotation_layer/delete.py       |     11 +-
 superset/commands/annotation_layer/update.py       |     12 +-
 superset/commands/chart/create.py                  |     14 +-
 superset/commands/chart/delete.py                  |     11 +-
 superset/commands/chart/importers/dispatcher.py    |      8 +-
 superset/commands/chart/importers/v1/utils.py      |      2 +-
 superset/commands/chart/update.py                  |     27 +-
 superset/commands/css/delete.py                    |     11 +-
 superset/commands/dashboard/copy.py                |     53 +
 superset/commands/dashboard/create.py              |     13 +-
 superset/commands/dashboard/delete.py              |     27 +-
 superset/commands/dashboard/exceptions.py          |      8 +
 .../commands/dashboard/importers/dispatcher.py     |      8 +-
 superset/commands/dashboard/importers/v0.py        |      3 +-
 superset/commands/dashboard/importers/v1/utils.py  |      2 +-
 superset/commands/dashboard/permalink/create.py    |     56 +-
 superset/commands/dashboard/permalink/get.py       |      9 +-
 superset/commands/dashboard/update.py              |     33 +-
 superset/commands/database/create.py               |     60 +-
 superset/commands/database/delete.py               |     11 +-
 superset/commands/database/importers/dispatcher.py |      8 +-
 superset/commands/database/importers/v1/utils.py   |     49 +-
 superset/commands/database/ssh_tunnel/create.py    |     22 +-
 superset/commands/database/ssh_tunnel/delete.py    |     10 +-
 superset/commands/database/ssh_tunnel/update.py    |     29 +-
 superset/commands/database/tables.py               |      4 +-
 superset/commands/database/test_connection.py      |      5 +-
 superset/commands/database/update.py               |    103 +-
 superset/commands/database/uploaders/base.py       |     10 +-
 superset/commands/dataset/columns/delete.py        |     11 +-
 superset/commands/dataset/create.py                |     38 +-
 superset/commands/dataset/delete.py                |     11 +-
 superset/commands/dataset/duplicate.py             |    115 +-
 superset/commands/dataset/importers/dispatcher.py  |      8 +-
 superset/commands/dataset/importers/v0.py          |      4 +-
 superset/commands/dataset/importers/v1/utils.py    |      4 +-
 superset/commands/dataset/metrics/delete.py        |     11 +-
 superset/commands/dataset/refresh.py               |     14 +-
 superset/commands/dataset/update.py                |     42 +-
 .../commands/distributed_lock/__init__.py          |      0
 .../create.py => distributed_lock/base.py}         |     29 +-
 superset/commands/distributed_lock/create.py       |     64 +
 .../delete.py                                      |     39 +-
 .../user.py => commands/distributed_lock/get.py}   |     38 +-
 superset/commands/exceptions.py                    |      2 +-
 superset/commands/explore/permalink/create.py      |     64 +-
 superset/commands/explore/permalink/get.py         |      8 +-
 superset/commands/importers/v1/__init__.py         |     10 +-
 superset/commands/importers/v1/assets.py           |     18 +-
 superset/commands/importers/v1/examples.py         |      5 +-
 superset/commands/importers/v1/utils.py            |      2 +-
 superset/commands/key_value/create.py              |    103 -
 superset/commands/key_value/delete.py              |     64 -
 superset/commands/key_value/delete_expired.py      |     65 -
 superset/commands/key_value/get.py                 |     72 -
 superset/commands/key_value/update.py              |     90 -
 superset/commands/key_value/upsert.py              |    100 -
 superset/commands/query/delete.py                  |     11 +-
 superset/commands/query/importers/dispatcher.py    |      4 +-
 superset/commands/report/base.py                   |      2 +
 superset/commands/report/create.py                 |     10 +-
 superset/commands/report/delete.py                 |     11 +-
 superset/commands/report/execute.py                |     82 +-
 superset/commands/report/log_prune.py              |     14 +-
 superset/commands/report/update.py                 |     13 +-
 superset/commands/security/create.py               |      9 +-
 superset/commands/security/delete.py               |     10 +-
 superset/commands/security/reset.py                |     94 +
 superset/commands/security/update.py               |     12 +-
 superset/commands/sql_lab/execute.py               |     30 +-
 superset/commands/sql_lab/query.py                 |    109 +
 superset/commands/tag/create.py                    |     54 +-
 superset/commands/tag/delete.py                    |     27 +-
 superset/commands/tag/update.py                    |     20 +-
 superset/commands/temporary_cache/create.py        |     11 +-
 superset/commands/temporary_cache/delete.py        |     11 +-
 superset/commands/temporary_cache/update.py        |     11 +-
 superset/common/query_context_processor.py         |      5 +-
 superset/common/query_object.py                    |      2 +-
 superset/config.py                                 |     45 +-
 superset/connectors/sqla/models.py                 |     21 +-
 superset/connectors/sqla/utils.py                  |      5 +-
 superset/constants.py                              |      2 +
 superset/css_templates/api.py                      |     14 +-
 superset/daos/base.py                              |     48 +-
 superset/daos/chart.py                             |      2 -
 superset/daos/dashboard.py                         |     17 +-
 superset/daos/database.py                          |      6 +-
 superset/daos/dataset.py                           |     37 +-
 superset/daos/exceptions.py                        |     24 -
 superset/daos/key_value.py                         |    145 +
 superset/daos/query.py                             |      2 -
 superset/daos/report.py                            |     40 +-
 superset/daos/tag.py                               |     66 +-
 superset/daos/user.py                              |      1 -
 superset/dashboards/api.py                         |    276 +-
 superset/dashboards/filters.py                     |     19 +-
 superset/dashboards/schemas.py                     |     66 +-
 superset/databases/api.py                          |     18 +-
 superset/databases/schemas.py                      |      1 +
 superset/databases/utils.py                        |      4 +-
 superset/datasets/api.py                           |      2 +
 superset/datasets/schemas.py                       |      1 +
 superset/db_engine_specs/README.md                 |      7 +-
 superset/db_engine_specs/base.py                   |     84 +-
 superset/db_engine_specs/couchbase.py              |    257 +
 superset/db_engine_specs/databricks.py             |     22 +-
 superset/db_engine_specs/gsheets.py                |      2 +-
 superset/db_engine_specs/hive.py                   |      8 +-
 superset/db_engine_specs/impala.py                 |      4 +-
 superset/db_engine_specs/oceanbase.py              |    183 +
 superset/db_engine_specs/ocient.py                 |      4 +-
 superset/db_engine_specs/pinot.py                  |      4 -
 superset/db_engine_specs/presto.py                 |    410 +-
 superset/db_engine_specs/snowflake.py              |      2 +-
 superset/db_engine_specs/trino.py                  |    109 +-
 .../lock.py => distributed_lock/__init__.py}       |     72 +-
 .../distributed_lock/types.py                      |      5 +
 .../exceptions.py => distributed_lock/utils.py}    |     41 +-
 superset/examples/bart_lines.py                    |      1 -
 superset/examples/birth_names.py                   |      3 -
 .../configs/charts/Featured Charts/Sankey.yaml}    |     25 +
 .../configs/dashboards/Featured_Charts.yaml        |     37 +-
 superset/examples/country_map.py                   |      1 -
 superset/examples/css_templates.py                 |      2 -
 superset/examples/deck.py                          |      1 -
 superset/examples/energy.py                        |      3 -
 superset/examples/flights.py                       |      1 -
 superset/examples/helpers.py                       |      3 -
 superset/examples/long_lat.py                      |      1 -
 superset/examples/misc_dashboard.py                |      1 -
 superset/examples/multiformat_time_series.py       |      1 -
 superset/examples/paris.py                         |      1 -
 superset/examples/random_time_series.py            |      2 -
 superset/examples/sf_population_polygons.py        |      1 -
 superset/examples/supported_charts_dashboard.py    |      3 -
 superset/examples/tabbed_dashboard.py              |      3 -
 superset/examples/world_bank.py                    |      6 +-
 superset/exceptions.py                             |      6 +
 superset/extensions/metastore_cache.py             |     44 +-
 superset/extensions/pylint.py                      |     17 +
 superset/initialization/__init__.py                |      7 +-
 superset/jinja_context.py                          |      2 +-
 superset/key_value/models.py                       |      5 +
 superset/key_value/shared_entries.py               |     18 +-
 superset/key_value/types.py                        |      9 +-
 superset/key_value/utils.py                        |      4 +-
 superset/migrations/env.py                         |     17 +-
 superset/migrations/shared/catalogs.py             |    657 +-
 superset/migrations/shared/constraints.py          |     14 +
 superset/migrations/shared/migrate_viz/base.py     |      2 -
 .../migrations/shared/migrate_viz/processors.py    |     12 +
 ...1c4c6_migrate_num_period_compare_and_period_.py |      4 +-
 ...3a3a8ff221_migrate_filter_sets_to_new_format.py |      8 +-
 ...ed7ec95_migrate_native_filters_to_new_schema.py |      8 +-
 ...15da_migrate_pivot_table_v2_heatmaps_to_new_.py |      4 +-
 ...5b9441_rename_big_viz_total_form_data_fields.py |      8 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |      8 +-
 ...-41_4ea966691069_cross_filter_global_scoping.py |      8 +-
 ...d83218_migrate_can_view_and_drill_permission.py |      2 +-
 ...20_16-02_678eefb4ab44_add_access_token_table.py |      3 +
 ...8_15-43_5ad7321c2169_mig_new_csv_upload_perm.py |      2 +-
 ...-04-11_15-41_5f57af97bc3f_add_catalog_column.py |     28 +-
 ...14-04_d60591c5515f_mig_new_excel_upload_perm.py |      2 +-
 ...36_4a33124c18ad_mig_new_columnar_upload_perm.py |      2 +-
 ...0-52_58d051681a3b_add_catalog_perm_to_tables.py |      2 +-
 ...9123a_update_charts_with_old_time_comparison.py |      4 +-
 ...4-05-24_11-31_02f4f7811799_remove_sl__tables.py |    197 -
 ...2f4f7811799_remove_sl_dataset_columns_table.py} |     47 +-
 ..._39549add7bfc_remove_sl_table_columns_table.py} |     47 +-
 ...15-23_38f4144e8558_remove_sl_dataset_tables.py} |     47 +-
 ..._15-27_e53fd48cc078_remove_sl_dataset_users.py} |     47 +-
 ...4-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py |     80 +
 ...4-08-13_15-31_007a1abffe7e_remove_sl_tables.py} |     66 +-
 ...08-13_15-33_48cbb571fa3a_remove_sl_datasets.py} |     66 +-
 superset/models/core.py                            |     17 +-
 superset/models/dashboard.py                       |     56 +-
 superset/models/helpers.py                         |     21 +-
 superset/models/slice.py                           |      5 +-
 superset/models/sql_lab.py                         |      4 +-
 superset/queries/api.py                            |      6 +-
 superset/queries/saved_queries/api.py              |     23 +-
 superset/queries/saved_queries/filters.py          |     19 +-
 superset/reports/api.py                            |     73 +-
 superset/reports/models.py                         |      1 +
 superset/reports/notifications/__init__.py         |      1 +
 superset/reports/notifications/email.py            |     17 +-
 superset/reports/notifications/exceptions.py       |     11 +
 superset/reports/notifications/slack.py            |    218 +-
 superset/reports/notifications/slack_mixin.py      |    124 +
 superset/reports/notifications/slackv2.py          |    130 +
 superset/reports/schemas.py                        |     13 +
 superset/row_level_security/api.py                 |     17 +-
 superset/security/manager.py                       |    122 +-
 superset/sql_lab.py                                |     39 +-
 superset/sql_parse.py                              |      1 +
 superset/sql_validators/presto_db.py               |      2 +-
 superset/sqllab/api.py                             |      1 +
 superset/sqllab/query_render.py                    |      1 -
 superset/sqllab/sql_json_executer.py               |      7 +-
 superset/sqllab/sqllab_execution_context.py        |      6 +-
 superset/tags/filters.py                           |     54 +
 superset/tags/models.py                            |      1 +
 superset/tasks/async_queries.py                    |     18 +-
 superset/tasks/celery_app.py                       |      5 +-
 superset/tasks/scheduler.py                        |     20 +-
 superset/tasks/thumbnails.py                       |     39 +
 superset/templates/head_custom_extra.html          |     24 +
 superset/templates/superset/base.html              |      1 +
 superset/templates/superset/basic.html             |     11 +-
 .../form_view/database_schemas_selector.html       |      2 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   6741 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   6794 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   6739 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   6778 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   6796 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   6770 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |   6833 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   6770 +-
 superset/translations/messages.pot                 |   6738 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   6793 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   6771 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   6792 +-
 superset/translations/requirements.txt             |      1 +
 superset/translations/ru/LC_MESSAGES/messages.po   |   7297 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   6746 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   6791 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   6764 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   6794 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   6778 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   6778 +-
 superset/utils/core.py                             |      6 +-
 superset/utils/csv.py                              |      2 +-
 superset/utils/database.py                         |      5 +-
 superset/utils/decorators.py                       |     67 +-
 superset/utils/json.py                             |     43 +-
 superset/utils/log.py                              |      2 +-
 superset/utils/logging_configurator.py             |     12 +-
 superset/utils/machine_auth.py                     |      2 +
 superset/utils/oauth2.py                           |      2 +-
 superset/utils/screenshots.py                      |      1 -
 superset/utils/slack.py                            |     89 +
 superset/utils/webdriver.py                        |     24 +-
 superset/views/api.py                              |      3 +-
 superset/views/base.py                             |    196 +-
 superset/views/base_api.py                         |     29 +-
 superset/views/core.py                             |     16 +-
 superset/views/dashboard/views.py                  |      2 +-
 superset/views/datasource/views.py                 |      4 +-
 superset/views/error_handling.py                   |    222 +
 superset/views/key_value.py                        |      2 +-
 superset/views/sql_lab/views.py                    |      4 +-
 tests/integration_tests/base_tests.py              |     20 +-
 tests/integration_tests/celery_tests.py            |     29 +-
 tests/integration_tests/charts/api_tests.py        |    164 +-
 tests/integration_tests/charts/commands_tests.py   |      9 +-
 tests/integration_tests/charts/data/api_tests.py   |      3 +
 tests/integration_tests/commands_test.py           |     13 +-
 tests/integration_tests/conftest.py                |     87 +-
 tests/integration_tests/core_tests.py              |      6 +-
 tests/integration_tests/dashboard_tests.py         |      6 +-
 tests/integration_tests/dashboards/api_tests.py    |    492 +-
 .../integration_tests/dashboards/commands_tests.py |    106 +-
 .../dashboards/superset_factory_util.py            |     32 +-
 tests/integration_tests/databases/api_tests.py     |    115 +-
 .../integration_tests/databases/commands_tests.py  |     70 +-
 tests/integration_tests/datasets/api_tests.py      |     96 +-
 tests/integration_tests/datasets/commands_tests.py |     12 +-
 tests/integration_tests/datasource/api_tests.py    |      2 +-
 tests/integration_tests/datasource_tests.py        |    137 +-
 .../db_engine_specs/bigquery_tests.py              |      4 +-
 .../db_engine_specs/gsheets_tests.py               |      4 +-
 .../db_engine_specs/mysql_tests.py                 |      4 +-
 .../db_engine_specs/postgres_tests.py              |     16 +-
 .../db_engine_specs/presto_tests.py                |     13 +-
 .../db_engine_specs/trino_tests.py                 |    115 +
 tests/integration_tests/embedded/api_tests.py      |      1 +
 tests/integration_tests/embedded/dao_tests.py      |      6 +-
 tests/integration_tests/embedded/test_view.py      |      2 +
 tests/integration_tests/event_logger_tests.py      |      2 +-
 .../explore/permalink/commands_tests.py            |      9 +-
 .../extensions/metastore_cache_test.py             |     26 +-
 tests/integration_tests/fixtures/importexport.py   |      7 +-
 tests/integration_tests/fixtures/tags.py           |     35 +
 .../fixtures/unicode_dashboard.py                  |      5 +-
 .../fixtures/world_bank_dashboard.py               |     15 +-
 tests/integration_tests/key_value/__init__.py      |     16 -
 .../key_value/commands/create_test.py              |     96 -
 .../key_value/commands/delete_test.py              |     83 -
 .../key_value/commands/fixtures.py                 |     69 -
 .../key_value/commands/get_test.py                 |    103 -
 .../key_value/commands/update_test.py              |     97 -
 .../key_value/commands/upsert_test.py              |    101 -
 tests/integration_tests/model_tests.py             |     23 +
 .../queries/saved_queries/api_tests.py             |    125 +-
 .../queries/saved_queries/commands_tests.py        |      6 +-
 tests/integration_tests/query_context_tests.py     |     31 +
 .../commands/execute_dashboard_report_tests.py     |     30 +-
 tests/integration_tests/reports/commands_tests.py  |    429 +-
 tests/integration_tests/reports/utils.py           |     12 +-
 tests/integration_tests/security/api_tests.py      |     62 +
 .../security/row_level_security_tests.py           |      2 -
 tests/integration_tests/security_tests.py          |      5 +-
 tests/integration_tests/sql_lab/api_tests.py       |      2 +-
 tests/integration_tests/sqla_models_tests.py       |     11 +-
 tests/integration_tests/sqllab_tests.py            |      9 +-
 tests/integration_tests/superset_test_config.py    |     13 +-
 .../superset_test_config_thumbnails.py             |      8 +-
 tests/integration_tests/tags/dao_tests.py          |      3 +-
 tests/unit_tests/commands/databases/create_test.py |      2 -
 tests/unit_tests/commands/databases/update_test.py |     16 +-
 tests/unit_tests/commands/report/base_test.py      |     46 +-
 tests/unit_tests/commands/report/execute_test.py   |    222 +
 tests/unit_tests/connectors/sqla/models_test.py    |      4 +-
 tests/unit_tests/connectors/sqla/utils_test.py     |     91 +
 tests/unit_tests/dao/dataset_test.py               |      6 +-
 tests/unit_tests/dao/key_value_test.py             |    395 +
 tests/unit_tests/dao/tag_test.py                   |      7 -
 tests/unit_tests/dao/user_test.py                  |      1 -
 tests/unit_tests/databases/api_test.py             |      2 +-
 .../databases/commands/importers/v1/import_test.py |     57 +-
 .../databases/ssh_tunnel/commands/create_test.py   |      2 +-
 tests/unit_tests/databases/ssh_tunnel/dao_tests.py |      1 -
 tests/unit_tests/datasets/commands/export_test.py  |      1 +
 tests/unit_tests/db_engine_specs/test_athena.py    |      4 +-
 tests/unit_tests/db_engine_specs/test_base.py      |     23 +
 tests/unit_tests/db_engine_specs/test_couchbase.py |     93 +
 .../unit_tests/db_engine_specs/test_databricks.py  |      8 +-
 tests/unit_tests/db_engine_specs/test_mssql.py     |      6 +-
 tests/unit_tests/db_engine_specs/test_oceanbase.py |     59 +
 tests/unit_tests/db_engine_specs/test_trino.py     |     63 +-
 .../unit_tests/distributed_lock/__init__.py        |      0
 .../distributed_lock/distributed_lock_tests.py     |    101 +
 tests/unit_tests/fixtures/common.py                |     26 +-
 .../unit_tests/migrations/shared/catalogs_test.py  |    198 +-
 tests/unit_tests/models/core_test.py               |     20 +
 tests/unit_tests/notifications/__init__.py         |     16 -
 tests/unit_tests/notifications/slack_tests.py      |     88 -
 .../unit_tests/pandas_postprocessing/test_pivot.py |      2 +-
 .../pandas_postprocessing/test_rename.py           |      2 +-
 .../{ => reports}/notifications/email_tests.py     |      1 +
 .../reports/notifications/slack_tests.py           |    347 +-
 tests/unit_tests/security/manager_test.py          |    240 +-
 tests/unit_tests/sql_lab_execution_context.py      |     96 +
 tests/unit_tests/sql_lab_test.py                   |      4 +-
 tests/unit_tests/sql_parse_tests.py                |      2 +-
 tests/unit_tests/tags/filters_test.py              |     85 +
 .../utils/csv_tests.py                             |     44 +-
 tests/unit_tests/utils/lock_tests.py               |     79 -
 tests/unit_tests/utils/slack_test.py               |    193 +
 1213 files changed, 94709 insertions(+), 231658 deletions(-)
 delete mode 100644 .github/workflows/superset-python-misc.yml
 delete mode 100644 .github/workflows/update-monorepo-lockfiles.yml
 create mode 100644 CHANGELOG/4.0.2.md
 create mode 100644 RELEASING/release-notes-4-1/README.md
 create mode 100644 RELEASING/release-notes-4-1/media/big_number_chart.png
 create mode 100644 RELEASING/release-notes-4-1/media/columnar_modal_1.png
 create mode 100644 RELEASING/release-notes-4-1/media/columnar_modal_2.png
 create mode 100644 RELEASING/release-notes-4-1/media/columnar_modal_3.png
 create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_1.png
 create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_2.png
 create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_3.png
 create mode 100644 RELEASING/release-notes-4-1/media/csv_modal_4.png
 create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_1.png
 create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_2.png
 create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_3.png
 create mode 100644 RELEASING/release-notes-4-1/media/excel_modal_4.png
 create mode 100644 RELEASING/release-notes-4-1/media/heatmap.png
 create mode 100644 RELEASING/release-notes-4-1/media/histogram.png
 create mode 100644 RELEASING/release-notes-4-1/media/sankey.png
 create mode 100644 RELEASING/release-notes-4-1/media/slack_modal.png
 create mode 100644 RELEASING/release-notes-4-1/media/table_with_time.png
 create mode 100644 RELEASING/release-notes-4-1/media/tooltips.png
 create mode 100644 docs/docs/installation/architecture.mdx
 create mode 100644 docs/src/intro_header.txt
 create mode 100644 docs/static/img/databases/couchbase.svg
 create mode 100644 docs/static/img/databases/oceanbase.svg
 copy superset-frontend/{src/types/ace-builds.ts => packages/generator-superset/.eslintrc} (91%)
 rename superset-frontend/{plugins/plugin-chart-word-cloud/src/chart/Encoder.ts => packages/superset-ui-chart-controls/src/ace-builds.d.ts} (92%)
 copy superset-frontend/{src/types/ace-builds.ts => packages/superset-ui-chart-controls/src/components/Dropdown.tsx} (89%)
 copy superset-frontend/{src/types/ace-builds.ts => packages/superset-ui-chart-controls/src/components/Menu.tsx} (91%)
 rename superset-frontend/packages/superset-ui-core/src/color/{SharedLabelColorSingleton.ts => LabelsColorMapSingleton.ts} (52%)
 copy superset-frontend/{src/explore/components/controls/DateFilterControl/utils/dateParser.ts => packages/superset-ui-core/src/time-comparison/customTimeRangeDecode.ts} (65%)
 create mode 100644 superset-frontend/packages/superset-ui-core/test/color/LabelsColorMapSingleton.test.ts
 delete mode 100644 superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-comparison/computeCustomDateTime.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-core/test/time-comparison/customTimeRangeDecode.test.ts
 rename superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/{BoxPolot.stories.tsx => BoxPlot.stories.tsx} (100%)
 create mode 100644 superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries/hungary.geojson
 copy superset-frontend/{src/types/dom-to-pdf.d.ts => plugins/plugin-chart-echarts/src/Sankey/Sankey.tsx} (70%)
 copy superset-frontend/{src/components/Slider/index.tsx => plugins/plugin-chart-echarts/src/Sankey/buildQuery.ts} (64%)
 copy superset-frontend/plugins/{legacy-plugin-chart-sankey/src/controlPanel.ts => plugin-chart-echarts/src/Sankey/controlPanel.tsx} (63%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/example1.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/example2.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/images/thumbnail.png
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/index.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Sankey/transformProps.ts
 rename superset-frontend/plugins/{plugin-chart-word-cloud/src/legacyPlugin => plugin-chart-echarts/src/Sankey}/types.ts (63%)
 delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/index.ts
 delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/src/legacyPlugin/transformProps.ts
 rename superset-frontend/plugins/plugin-chart-word-cloud/test/{plugin => }/buildQuery.test.ts (92%)
 delete mode 100644 superset-frontend/plugins/plugin-chart-word-cloud/test/legacyPlugin/transformProps.test.ts
 create mode 100644 superset-frontend/src/assets/images/couchbase.svg
 create mode 100644 superset-frontend/src/assets/images/oceanbase.svg
 copy superset-frontend/src/components/{Slider => AntdThemeProvider}/index.tsx (71%)
 copy superset-frontend/src/components/{Badge/Badge.test.tsx => AsyncAceEditor/Tooltip.test.tsx} (53%)
 create mode 100644 superset-frontend/src/components/AsyncAceEditor/Tooltip.tsx
 copy superset-frontend/{packages/generator-superset/jest.config.js => src/components/Card/Card.test.tsx} (80%)
 copy superset-frontend/src/{dashboard/components/menu/DownloadMenuItems/DownloadMenuItems.test.tsx => components/Slider/Slider.test.tsx} (63%)
 copy superset-frontend/{packages/generator-superset/jest.config.js => src/components/Tags/Tag.stories.tsx} (76%)
 create mode 100644 superset-frontend/src/components/TimezoneSelector/TimezoneSelector.DaylightSavingTime.test.tsx
 delete mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.test.tsx
 delete mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadAsPdf.tsx
 create mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadScreenshot.test.tsx
 create mode 100644 superset-frontend/src/dashboard/components/menu/DownloadMenuItems/DownloadScreenshot.tsx
 copy superset-frontend/src/{types/ace-builds.ts => dashboard/components/menu/DownloadMenuItems/types.ts} (91%)
 create mode 100644 superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.test.tsx
 delete mode 100644 superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent/AdhocFilterEditPopoverSqlTabContent.test.jsx
 create mode 100644 superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopoverSqlTabContent/AdhocFilterEditPopoverSqlTabContent.test.tsx
 delete mode 100644 superset-frontend/src/explore/components/controls/MetricControl/MetricDefinitionOption.test.jsx
 create mode 100644 superset-frontend/src/explore/components/controls/MetricControl/MetricDefinitionOption.test.tsx
 rename superset-frontend/{plugins/plugin-chart-word-cloud/test/index.test.ts => src/explore/controlUtils/getColumnKeywords.test.tsx} (61%)
 copy superset-frontend/src/{components/Tabs/Tabs.stories.tsx => explore/controlUtils/getColumnKeywords.tsx} (50%)
 create mode 100644 superset-frontend/src/explore/reducers/exploreReducer.test.js
 create mode 100644 superset-frontend/src/features/alerts/components/NotificationMethod.test.tsx
 create mode 100644 superset-frontend/src/features/alerts/components/RecipientIcon.test.tsx
 create mode 100644 superset-frontend/src/hooks/strictBroadcastChannel.ts
 create mode 100644 superset-frontend/src/logger/useLogAction.test.ts
 rename superset-frontend/src/{types/dom-to-pdf.d.ts => logger/useLogAction.ts} (60%)
 create mode 100644 superset-frontend/src/theme/index.ts
 create mode 100644 superset-frontend/src/theme/light.ts
 create mode 100644 superset-frontend/src/utils/colorScheme.ts
 delete mode 100644 superset-frontend/src/utils/downloadAsPdf.ts
 create mode 100644 superset/cli/reset.py
 create mode 100644 superset/commands/dashboard/copy.py
 copy docs/static/.nojekyll => superset/commands/distributed_lock/__init__.py (100%)
 copy superset/commands/{temporary_cache/create.py => distributed_lock/base.py} (56%)
 create mode 100644 superset/commands/distributed_lock/create.py
 copy superset/commands/{temporary_cache => distributed_lock}/delete.py (52%)
 copy superset/{daos/user.py => commands/distributed_lock/get.py} (55%)
 delete mode 100644 superset/commands/key_value/create.py
 delete mode 100644 superset/commands/key_value/delete.py
 delete mode 100644 superset/commands/key_value/delete_expired.py
 delete mode 100644 superset/commands/key_value/get.py
 delete mode 100644 superset/commands/key_value/update.py
 delete mode 100644 superset/commands/key_value/upsert.py
 create mode 100644 superset/commands/security/reset.py
 create mode 100644 superset/commands/sql_lab/query.py
 create mode 100644 superset/daos/key_value.py
 create mode 100644 superset/db_engine_specs/couchbase.py
 create mode 100644 superset/db_engine_specs/oceanbase.py
 rename superset/{utils/lock.py => distributed_lock/__init__.py} (53%)
 rename tests/integration_tests/key_value/commands/__init__.py => superset/distributed_lock/types.py (91%)
 copy superset/{reports/notifications/exceptions.py => distributed_lock/utils.py} (53%)
 rename superset/{commands/key_value/__init__.py => examples/configs/charts/Featured Charts/Sankey.yaml} (57%)
 delete mode 100644 superset/migrations/versions/2024-05-24_11-31_02f4f7811799_remove_sl__tables.py
 copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-05-24_11-31_02f4f7811799_remove_sl_dataset_columns_table.py} (51%)
 copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-08-13_15-17_39549add7bfc_remove_sl_table_columns_table.py} (52%)
 copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-08-13_15-23_38f4144e8558_remove_sl_dataset_tables.py} (52%)
 copy superset/migrations/versions/{2024-05-01_10-52_58d051681a3b_add_catalog_perm_to_tables.py => 2024-08-13_15-27_e53fd48cc078_remove_sl_dataset_users.py} (52%)
 create mode 100644 superset/migrations/versions/2024-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py
 copy superset/migrations/versions/{2024-03-20_16-02_678eefb4ab44_add_access_token_table.py => 2024-08-13_15-31_007a1abffe7e_remove_sl_tables.py} (58%)
 copy superset/migrations/versions/{2024-03-20_16-02_678eefb4ab44_add_access_token_table.py => 2024-08-13_15-33_48cbb571fa3a_remove_sl_datasets.py} (58%)
 create mode 100644 superset/reports/notifications/slack_mixin.py
 create mode 100644 superset/reports/notifications/slackv2.py
 create mode 100644 superset/templates/head_custom_extra.html
 create mode 100644 superset/views/error_handling.py
 create mode 100644 tests/integration_tests/db_engine_specs/trino_tests.py
 delete mode 100644 tests/integration_tests/key_value/__init__.py
 delete mode 100644 tests/integration_tests/key_value/commands/create_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/delete_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/fixtures.py
 delete mode 100644 tests/integration_tests/key_value/commands/get_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/update_test.py
 delete mode 100644 tests/integration_tests/key_value/commands/upsert_test.py
 create mode 100644 tests/unit_tests/commands/report/execute_test.py
 create mode 100644 tests/unit_tests/connectors/sqla/utils_test.py
 create mode 100644 tests/unit_tests/dao/key_value_test.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_couchbase.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_oceanbase.py
 copy docs/static/.nojekyll => tests/unit_tests/distributed_lock/__init__.py (100%)
 create mode 100644 tests/unit_tests/distributed_lock/distributed_lock_tests.py
 delete mode 100644 tests/unit_tests/notifications/__init__.py
 delete mode 100644 tests/unit_tests/notifications/slack_tests.py
 rename tests/unit_tests/{ => reports}/notifications/email_tests.py (98%)
 create mode 100644 tests/unit_tests/sql_lab_execution_context.py
 create mode 100644 tests/unit_tests/tags/filters_test.py
 rename tests/{integration_tests => unit_tests}/utils/csv_tests.py (77%)
 delete mode 100644 tests/unit_tests/utils/lock_tests.py
 create mode 100644 tests/unit_tests/utils/slack_test.py