You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ma...@apache.org on 2024/09/13 22:48:54 UTC

(superset) branch no_mysql_lean updated (7759192dc2 -> fce1c286ba)

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

maximebeauchemin pushed a change to branch no_mysql_lean
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 7759192dc2 set swap place
    omit e2af0e7b14 test
    omit 7ae8ae3cf5 try swap space increase
    omit e9f95c82a0 reducing parallelism on docker build
    omit 760bd84bb7 no-cache-dir
    omit 1f2a881a03 chore(docker): move mysql os-level deps (GPL) to dev image only
     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 1ca5947a7d fix(sqllab): flaky json explore modal due to shallow equality checks for extra data (#29978)
     add 8e2f81816f build(node): Bumping to Node 20 (#29988)
     add 1a1548da3b chore(shared components): Migrate enzyme to RTL (#26258)
     add c049771a7f chore(chart-controls): migrate enzyme to RTL (#26257)
     add 4d821f44ae fix: trino thread app missing full context (#29981)
     add 5e847c7afa build(deps): bump ws and @applitools/eyes-cypress in /superset-frontend/cypress-base (#29947)
     add eb2d69a5e6 fix: Duplicated example dataset (#29993)
     add bf94370d38 chore(init): adding link to secret key instructions (#29990)
     add 4b59e42d3f chore: improve mask/unmask encrypted_extra (#29943)
     add 5906890b78 feat: Adding Elestio as deployment option (#25775)
     add 17eecb1981 fix(trino): handle missing db in migration (#29997)
     add 9d5268ab6d feat(sqllab): Adds refresh button to table metadata in SQL Lab (#29974)
     add ce72a0ac27 fix: set columns numeric datatypes when exporting to excel (#27229)
     add bc6d2dba37 feat(time_comparison): Support all date formats when computing custom and inherit offsets (#30002)
     add d497dcad41 fix: Security manager incorrect calls (#29884)
     add cb23d6f1a8 fix: Removed fixed width constraint from Save button (#29686)
     add 7db34b994e fix(screenshots): dashboard screenshots do not capture filter state (#29989)
     add 9249facaf5 fix: Reports are not sent when selecting to send as PNG, CSV or text (#30001)
     add 2fda221b7c feat(alert/reports): adding logic to handle downstream reports when tab is deleted from dashboard (#29333)
     add 0a626bd8ae build(deps): bump d3-time from 1.1.0 to 3.1.0 in /superset-frontend/packages/superset-ui-core (#28292)
     add c8436eb9c0 build(deps): bump remark-gfm from 3.0.1 to 4.0.0 in /superset-frontend/packages/superset-ui-core (#27832)
     add cf4a21d095 build(deps): bump micromatch from 4.0.5 to 4.0.8 in /docs (#30009)
     add e8db5dfd67 build(deps): bump micromatch from 4.0.4 to 4.0.8 in /superset-frontend/cypress-base (#30008)
     add 5bebcf61fe chore(deps): bump cross-env (#30007)
     add 764d4fa1ad fix(translations): Fixed APPLY translation in Spanish (#30013)
     add 029799e2e8 chore(deps): bump core-js (#30011)
     add 4e346180e0 chore(translations): Arabic translations (#29586)
     add fcf0450294 fix(user-dao): return user model instances (#30020)
     add 2afb66d68d fix: Dashboard list row height does not match other lists (#30025)
     add 07a90ad4fe fix: Partition calls from Jinja context (#30019)
     add d80f23ed94 fix(migrations): Fix the time comparison migration (#30029)
     add c428108713 fix(plugins): display correct tooltip (fixes #3342) (#30023)
     add e886cc40fe fix: duplicate `truncateXAxis` option in `BarChart` (#29916)
     add 75c500c9a5 fix: Handle zstd encoding in webpack proxy config (#30034)
     add 07985e2f5a fix: Revert "fix(list/chart views): Chart Properties modal now has transitions" (#30041)
     add 606ddc3181 chore(docs): clean up a few md errors (#30057)
     add e2c4435cab fix: use StrEnum type for GuestTokenResourceType to fix token parsing (#30042)
     add 4fe3000275 chore(docs): docker instructions use `docker compose` instead of the deprecated `docker-compose` (#30030)
     add 1f2f66bcb0 feat(docker): add GUNICORN_LOGLEVEL env var (#24308)
     add cd6b8b2f6d fix: Delete modal button with lowercase text (#30060)
     add 103cd3d6f3 feat(GAQ): Add Redis Sentinel Support for Global Async Queries (#29912)
     add 548d543efe fix: When hovering Drill By the dashboard is scrolled to the top (#30073)
     add 9596e458c6 refactor(databases): Create constants.ts, move interface to types.ts (#30027)
     add 72a520fba4 fix: Retrieving Slack channels when Slack is disabled (#30074)
     add 9c3eb8f51f fix(accessibility): logo outline on tab navigation, but not on click (#30077)
     add dd6c0ad001 build(deps-dev): bump eslint-plugin-no-only-tests from 2.4.0 to 3.3.0 in /superset-frontend (#30116)
     add d3760f3000 build(deps): bump d3-time-format and @types/d3-time-format in /superset-frontend (#30117)
     add 78a53bfa06 build(deps-dev): bump eslint-plugin-react-prefer-function-component from 0.0.7 to 3.3.0 in /superset-frontend (#30102)
     add 02adf44768 build(deps-dev): bump webpack from 5.93.0 to 5.94.0 in /superset-frontend (#30038)
     add db06a4e241 build(deps-dev): bump webpack from 5.76.0 to 5.94.0 in /superset-embedded-sdk (#30037)
     add 2b27e9eda1 build(deps): bump aws-actions/amazon-ecs-deploy-task-definition from 1 to 2 (#30090)
     add af066a4630 fix: DeckGL legend layout (#30140)
     add 5c5b4d0f5f fix: JSON loading logs (#30138)
     add c929f5ed7a fix: pass if table is already removed on upgrade (#30017)
     add 0415ed34ce feat: allow create/update OAuth2 DB (#30071)
     add 09dfe2f2ab feat: Oauth2 in DatabaseSelector (#30082)
     add 6009023fad fix(catalog): Table Schema View with no catalog (#30139)
     add ff449ad8ab feat: OAuth2 database field (#30126)
     add 880d634dc8 fix(sqllab): race condition when updating same cursor position (#30141)
     add 9cb9e5beee fix: New tooltip inappropriately combines series on mixed chart (#30137)
     add cc39afef46 chore: accelerate docker compose by skipping frontend build (#30021)
     add 34e240ef0e docs: document how docker-compose-image-tag requires -dev suffixed images (#30144)
     add 5e42d7aed0 fix: Adds the Deprecated label to Time-series Percent Change chart (#30148)
     add 1338c25896 chore(docs): update xendit link (#30153)
     add d406c80942 chore(tests): skip extremely flaky gaq test (#30072)
     add 272ed98db5 chore(docs): replace http with https (#30155)
     add 3f2e2371ef docs: Fixing missing 'c' in installation guide documentation (#30127)
     add acea58ebe7 fix(docs): typo in docker-compose.mdx (#30147)
     add 2097b716f4 fix(sqllab): race condition when updating cursor position (#30154)
     add de3de541e7 fix: FacePile is requesting avatars when SLACK_ENABLE_AVATARS is false (#30156)
     add e02b18c63c fix(native filter): undefined layout type on filterInScope (#30164)
     add 5374a4c9c4 build(deps-dev): bump prettier-plugin-packagejson from 2.4.10 to 2.5.2 in /superset-frontend (#30118)
     add 4bf441149d build(deps): bump cryptography from 42.0.7 to 42.0.8 (#30143)
     add 75f19312ec build(deps): bump uuid and @types/uuid in /superset-websocket (#30096)
     add 02c47b8eb5 build(deps-dev): bump ts-jest from 29.1.5 to 29.2.5 in /superset-websocket (#30095)
     add a1143228b2 build(deps): bump react-svg-pan-zoom from 3.12.1 to 3.13.1 in /docs (#30108)
     add b178675276 build(deps-dev): bump @docusaurus/tsconfig from 3.4.0 to 3.5.2 in /docs (#30107)
     add 1317af8d85 build(deps): bump prism-react-renderer from 2.3.1 to 2.4.0 in /docs (#30106)
     add 63eb7e5519 build(deps): bump react-ultimate-pagination and @types/react-ultimate-pagination in /superset-frontend (#30111)
     add 1fe5db2ec3 build(deps-dev): bump @docusaurus/module-type-aliases from 3.4.0 to 3.5.2 in /docs (#30105)
     add 043b5d4b9a build(deps): bump ws and @types/ws in /superset-websocket (#30094)
     add d3f5c795ff chore(docs): bump docusaurus from 3.4.0 to 3.5.2 (#30167)
     add 6294e339e2 feat(db_engine): Implement user impersonation support for StarRocks (#28110)
     add 4d1db9e32c fix(sqllab): Skip AceEditor in inactive tabs (#30171)
     add aa50eb3b03 build(dev-deps, deps): upgrade major versions for FE deps (#29963)
     add c6ccd2ee6a build(deps): bump core-js from 3.37.1 to 3.38.1 in /superset-frontend/packages/superset-ui-demo (#30088)
     add 601e55656c feat(jinja): add advanced temporal filter functionality (#30142)
     add d7547fc4ef build(deps-dev): bump typescript from 4.9.5 to 5.5.4 in /superset-websocket (#30097)
     add 0744abe87b fix: Chart cache-warmup task fails on Superset 4.0 (#28706)
     add 3aafd29768 fix: Disable cross filtering on charts with no dimensions (#30176)
     add 05197db71b build(deps): bump @types/node from 20.12.7 to 22.5.4 in /superset-frontend (#30166)
     add 1f890718a2 feat: `is_mutating` method (#30177)
     add d685497a10 build(deps): bump antd from 5.20.0 to 5.20.5 in /docs (#30179)
     add 0080374a77 build(deps-dev): bump webpack from 5.93.0 to 5.94.0 in /docs (#30036)
     add 100b31cb71 build(deps-dev): bump @types/react from 18.3.3 to 18.3.5 in /docs (#30101)
     add ff5cc09eac chore(docs): Removing dead link from INTHEWILD.md (#30199)
     add fed117fbf7 build(deps-dev): update @babel/types requirement from ^7.25.2 to ^7.25.6 in /superset-frontend/plugins/plugin-chart-pivot-table (#30103)
     add 6baeb659a7 fix: set default mysql isolation level to 'READ COMMITTED' (#30174)
     add 52a03f18a1 fix(Embedded): Dashboard screenshot should use GuestUser (#30200)
     add cddf1530da chore: remove duplicate `_process_sql_expression` (#30213)
     add d191e67e51 fix(Dashboard download): Download dashboard screenshot/PDF using SupersetClient (#30212)
     add dd4f223a39 fix(sdk): use latest @supserset-ui/switchboard version to avoid pulling empty dependency (#30217)
     add d0c9cde0ba chore(frontend): Spelling (#25452)
     add 5a0e88771b build(deps): update @babel/runtime requirement from ^7.1.2 to ^7.25.6 in /superset-frontend/packages/superset-ui-core (#30091)
     add 7bb6a14944 feat: Displaying details to Dataset/Database deletion modals (#30016)
     add a31a4eebdd feat(embedded): add hook to allow superset admins to validate guest token parameters (#30132)
     add e2a6d370f0 build(deps): bump send and express in /superset-websocket/utils/client-ws-app (#30225)
     add dca970946d build(deps): bump serve-static and express in /superset-websocket/utils/client-ws-app (#30226)
     add 1b34ad65fa fix(Celery): Pass guest_token as user context is not available in Celery (#30224)
     add 4385b44e86 chore(docs): note that release-tagged docker images no longer ship with metadata db drivers as of 4.1.0 (#30243)
     add 750888f6d3 fix(docs): change flask-oidc url (#30237)
     add 0f44362348 refactor(explore): Migrate MetricsControl test suite to RTL (#30232)
     add 88b698c092 fix(deps): release new embedded sdk (#30234)
     add be0a0ced25 fix: filters panel broken due to tabs scroll (#30180)
     add f8a77537a7 fix(uploads): respect db engine spec's supports_multivalues_insert value for file uploads & enable multi-insert for MSSQL (#30222)
     add c4c0845b3b build(deps): bump serve-static and express in /superset-frontend (#30229)
     add 2e107398ae build(deps): bump send and express in /superset-frontend (#30228)
     add 8c0b873ae2 build(deps, deps-dev): upgrade major versions for dependencies of `@superset/embedded-sdk` (#30242)
     add 23467bd7e4 fix(Fave): Charts and Dashboards fave/unfave do not commit transactions (#30215)
     add ff3b86b5ff feat(sqllab): Add timeout on fetching query results (#29959)
     add c5594f2979 feat(explore): Add time shift color control to ECharts (#29897)
     add dbab2fb955 fix(CrossFilters): Do not reload unrelated filters in global scope (#30252)
     add 3877355555 build(ci): make linkinator advisory (#30257)
     add 8cd18cac8c chore(build): remove extraneous prettier step in superset-frontend CI (#30253)
     add bdf29cb7c2 chore: organize SQL parsing files (#30258)
     add e9094659d3 refactor(frontend): migrate 6 tests from Enzyme to RTL (#30151)
     add f2a9e6e197 chore(docker): move mysql os-level deps (GPL) to dev image only
     add ecbccddeca no-cache-dir
     add 55a1cf62d7 reducing parallelism on docker build
     add 3994e7692d try swap space increase
     add 9b8ec556be test
     add fce1c286ba set swap place

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   (7759192dc2)
            \
             N -- N -- N   refs/heads/no_mysql_lean (fce1c286ba)

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                                          |      5 +-
 .gitattributes                                     |      1 +
 .github/CODEOWNERS                                 |      2 +-
 .github/workflows/embedded-sdk-release.yml         |      2 +-
 .github/workflows/embedded-sdk-test.yml            |      2 +-
 .github/workflows/ephemeral-env.yml                |      2 +-
 .github/workflows/github-action-validator.yml      |      2 +-
 .github/workflows/pre-commit.yml                   |     14 +-
 .github/workflows/release.yml                      |      2 +-
 .github/workflows/superset-applitool-cypress.yml   |      2 +-
 .../workflows/superset-applitools-storybook.yml    |      2 +-
 .github/workflows/superset-docs-verify.yml         |     22 +-
 .github/workflows/superset-e2e.yml                 |      2 +-
 .github/workflows/superset-frontend.yml            |      7 +-
 .github/workflows/superset-python-misc.yml         |     53 -
 .github/workflows/tag-release.yml                  |     33 +-
 .github/workflows/tech-debt.yml                    |      2 +-
 .gitignore                                         |      1 +
 .pre-commit-config.yaml                            |      3 +
 .rat-excludes                                      |      3 +
 Dockerfile                                         |     56 +-
 RELEASING/Dockerfile.from_local_tarball            |      7 +-
 RELEASING/Dockerfile.make_tarball                  |      4 +-
 RELEASING/release-notes-4-1/README.md              |    140 +
 .../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/INTHEWILD.md                             |     41 +-
 UPDATING.md                                        |     13 +-
 docker-compose-image-tag.yml                       |      5 +-
 docker-compose-non-dev.yml                         |      3 +-
 docker-compose.yml                                 |      9 +-
 docker/docker-frontend.sh                          |     10 +-
 docker/pythonpath_dev/superset_config.py           |      7 +-
 docker/run-server.sh                               |      1 +
 docs/.nvmrc                                        |      2 +-
 docs/docs/configuration/alerts-reports.mdx         |     13 +-
 docs/docs/configuration/configuring-superset.mdx   |      6 +-
 docs/docs/configuration/databases.mdx              |      9 +-
 docs/docs/configuration/sql-templating.mdx         |     73 +-
 docs/docs/contributing/development.mdx             |     75 +-
 docs/docs/contributing/howtos.mdx                  |      2 +-
 docs/docs/installation/docker-builds.mdx           |     27 +-
 docs/docs/installation/docker-compose.mdx          |     25 +-
 docs/docs/quickstart.mdx                           |      1 +
 docs/package.json                                  |     21 +-
 docs/src/styles/main.less                          |      2 -
 docs/static/img/databases/timescale.png            |    Bin 16120 -> 10894 bytes
 docs/yarn.lock                                     |   1179 +-
 pyproject.toml                                     |      4 +-
 requirements/base.txt                              |     15 +-
 requirements/development.txt                       |     24 +-
 scripts/change_detector.py                         |      2 +-
 scripts/tests/README.md                            |      2 +-
 scripts/tests/run.sh                               |      5 +-
 scripts/translations/babel_update.sh               |      5 +
 superset-embedded-sdk/package-lock.json            |   5133 +-
 superset-embedded-sdk/package.json                 |     27 +-
 superset-embedded-sdk/src/guestTokenRefresh.ts     |      4 +-
 superset-frontend/.nvmrc                           |      2 +-
 superset-frontend/.prettierignore                  |      1 +
 superset-frontend/.storybook/preview.jsx           |      5 +-
 .../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         |      9 +-
 .../cypress/e2e/dashboard/nativeFilters.test.ts    |      6 +-
 .../cypress/e2e/dashboard/tabs.test.ts             |     11 +-
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |     38 +-
 .../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 |     28 +-
 .../cypress/e2e/explore/advanced_analytics.test.ts |      2 +-
 .../cypress/e2e/explore/control.test.ts            |     94 +-
 .../cypress-base/cypress/e2e/explore/link.test.ts  |      8 +-
 .../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     |      5 +-
 .../e2e/explore/visualizations/dist_bar.test.js    |      5 +-
 .../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 +-
 .../e2e/sqllab/_skip.sourcePanel.index.test.js     |      2 +-
 .../cypress-base/cypress/e2e/sqllab/query.test.ts  |     39 +-
 .../cypress-base/cypress/support/e2e.ts            |      2 +-
 .../cypress-base/cypress/utils/index.ts            |     20 +-
 superset-frontend/cypress-base/package-lock.json   |    902 +-
 superset-frontend/cypress-base/package.json        |      4 +-
 superset-frontend/jest.config.js                   |      2 +-
 superset-frontend/package-lock.json                | 116184 +++++++-----------
 superset-frontend/package.json                     |    104 +-
 .../generators/plugin-chart/index.js               |      2 -
 .../packages/generator-superset/package.json       |      2 +-
 .../superset-ui-chart-controls/CHANGELOG.md        |      2 +-
 .../superset-ui-chart-controls/package.json        |      4 +-
 .../src/ace-builds.d.ts}                           |      3 +-
 .../src/components/SQLPopover.tsx                  |     17 +-
 .../superset-ui-chart-controls/src/constants.ts    |      2 +
 .../src/shared-controls/sharedControls.tsx         |     15 +
 .../test/components/ColumnOption.test.tsx          |    159 +-
 .../components/InfoTooltipWithTrigger.test.tsx     |     89 +-
 .../test/components/MetricOption.test.tsx          |    145 +-
 .../operators/utils/extractExtraMetrics.test.ts    |      2 +-
 .../test/utils/defineSavedMetrics.test.tsx         |      2 +-
 .../packages/superset-ui-core/package.json         |     18 +-
 .../src/color/ColorSchemeRegistry.ts               |      2 +-
 .../src/components/SafeMarkdown.tsx                |     24 +-
 .../superset-ui-core/src/query/types/Query.ts      |      2 +-
 .../src/query/types/QueryFormData.ts               |      2 +-
 .../src/time-comparison/getTimeOffset.ts           |     18 +-
 .../tooltip/TooltipFrame.test.tsx                  |     15 +-
 .../tooltip/TooltipTable.test.tsx                  |     74 +-
 .../test/connection/callApi/callApi.test.ts        |      2 +-
 .../test/query/processExtraFormData.test.ts        |      4 +-
 .../packages/superset-ui-demo/package.json         |      5 +-
 .../plugins/plugin-chart-pivot-table/testData.ts   |      2 +-
 .../plugins/plugin-chart-table/Table.stories.tsx   |      2 +-
 .../plugins/legacy-plugin-chart-chord/src/Chord.js |      4 +-
 .../legacy-plugin-chart-partition/package.json     |      6 +-
 .../legacy-plugin-chart-partition/src/Partition.js |      2 +-
 .../test/OptionDescription.test.jsx                |     41 +-
 .../legacy-preset-chart-deckgl/package.json        |      2 +-
 .../src/components/Legend.tsx                      |      4 +-
 .../src/layers/Heatmap/Heatmap.tsx                 |      2 +-
 .../src/layers/Heatmap/controlPanel.ts             |      2 +-
 .../legacy-preset-chart-nvd3/src/Compare/index.js  |      3 +-
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |      2 +-
 .../plugins/plugin-chart-echarts/package.json      |      2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     40 +-
 .../BigNumberPeriodOverPeriod/buildQuery.ts        |     56 +-
 .../BigNumberPeriodOverPeriod/transformProps.ts    |     34 +-
 .../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                  |      5 +-
 .../plugin-chart-echarts/src/Bubble/index.ts       |      4 +-
 .../src/Bubble/transformProps.ts                   |      7 +-
 .../src/Funnel/transformProps.ts                   |      5 +-
 .../plugin-chart-echarts/src/Gauge/constants.ts    |      2 +-
 .../src/Gauge/transformProps.ts                    |      7 +-
 .../plugin-chart-echarts/src/Graph/constants.ts    |      2 +-
 .../src/Graph/transformProps.ts                    |      5 +-
 .../plugin-chart-echarts/src/Graph/types.ts        |      4 +-
 .../src/Heatmap/transformProps.ts                  |     17 +-
 .../plugin-chart-echarts/src/Histogram/index.ts    |      4 +-
 .../src/Histogram/transformProps.ts                |      8 +-
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |     25 +-
 .../src/MixedTimeseries/controlPanel.tsx           |      1 +
 .../src/MixedTimeseries/transformProps.ts          |     30 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |      5 +-
 .../src/Radar/transformProps.ts                    |      7 +-
 .../plugin-chart-echarts/src/Sankey/index.ts       |      4 +-
 .../src/Sankey/transformProps.ts                   |      6 +-
 .../src/Sunburst/EchartsSunburst.tsx               |      6 +-
 .../src/Sunburst/transformProps.ts                 |      4 +-
 .../plugin-chart-echarts/src/Sunburst/types.ts     |      2 +-
 .../src/Timeseries/Area/controlPanel.tsx           |      3 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |     15 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |      5 +-
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |      1 +
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |      1 +
 .../Timeseries/Regular/SmoothLine/controlPanel.tsx |      1 +
 .../src/Timeseries/Step/controlPanel.tsx           |      1 +
 .../src/Timeseries/transformProps.ts               |     17 +-
 .../src/Timeseries/transformers.ts                 |     30 +-
 .../plugin-chart-echarts/src/Timeseries/types.ts   |      3 +-
 .../plugin-chart-echarts/src/Tree/constants.ts     |      2 +-
 .../src/Tree/transformProps.ts                     |      7 +-
 .../plugins/plugin-chart-echarts/src/Tree/types.ts |      4 +-
 .../src/Treemap/EchartsTreemap.tsx                 |      7 +-
 .../src/Treemap/transformProps.ts                  |      5 +-
 .../plugin-chart-echarts/src/Treemap/types.ts      |      2 +-
 .../plugin-chart-echarts/src/Waterfall/index.ts    |      4 +-
 .../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/constants.ts  |      1 +
 .../plugins/plugin-chart-echarts/src/types.ts      |      6 +-
 .../src/utils/eventHandlers.ts                     |     17 +-
 .../plugin-chart-echarts/src/utils/forecast.ts     |      4 +-
 .../plugin-chart-echarts/src/utils/series.ts       |      4 +-
 .../plugin-chart-echarts/src/utils/tooltip.ts      |      4 +-
 .../test/Graph/transformProps.test.ts              |      2 +-
 .../test/Pie/transformProps.test.ts                |      7 +-
 .../test/Timeseries/transformers.test.ts           |     84 +
 .../plugins/plugin-chart-pivot-table/package.json  |      2 +-
 .../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        |      7 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |      2 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     57 +-
 .../plugin-chart-table/src/controlPanel.tsx        |      2 +-
 .../plugin-chart-table/src/transformProps.ts       |     53 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |     62 +-
 .../plugins/plugin-chart-table/test/enzyme.tsx     |     67 -
 .../plugin-chart-table/test/testHelpers.tsx}       |     30 +-
 superset-frontend/scripts/build.js                 |      4 +-
 superset-frontend/scripts/copyAssets.js            |     10 +-
 superset-frontend/src/GlobalStyles.tsx             |      7 +-
 superset-frontend/src/SqlLab/actions/sqlLab.js     |     16 +-
 .../src/SqlLab/actions/sqlLab.test.js              |      3 +-
 .../AceEditorWrapper/AceEditorWrapper.test.tsx     |     44 +-
 .../SqlLab/components/AceEditorWrapper/index.tsx   |     18 +-
 .../AceEditorWrapper/useAnnotations.test.ts        |      2 +-
 .../components/AceEditorWrapper/useAnnotations.ts  |      5 +-
 .../QueryAutoRefresh/QueryAutoRefresh.test.tsx     |      2 +-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |     19 +-
 .../QueryLimitSelect/QueryLimitSelect.test.tsx     |     12 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |     23 +
 .../src/SqlLab/components/ResultSet/index.tsx      |     18 +-
 .../components/SaveDatasetActionButton/index.tsx   |      9 +-
 .../components/ScheduleQueryButton/index.tsx       |     11 +-
 .../SqlLab/components/SqlEditor/SqlEditor.test.tsx |     12 +
 .../src/SqlLab/components/SqlEditor/index.tsx      |     20 +-
 .../components/TableElement/TableElement.test.tsx  |     37 +-
 .../src/SqlLab/components/TableElement/index.tsx   |     17 +-
 superset-frontend/src/SqlLab/fixtures.ts           |     17 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.js    |     14 +-
 .../src/SqlLab/reducers/sqlLab.test.js             |     29 +
 .../src/SqlLab/utils/newQueryTabName.ts            |      4 +-
 superset-frontend/src/assets/images/timescale.png  |    Bin 15319 -> 7221 bytes
 .../assets/stylesheets/less/cosmo/bootswatch.less  |      5 -
 .../src/components/AsyncAceEditor/index.tsx        |     32 +-
 .../src/components/Badge/Badge.stories.tsx         |     25 +-
 .../src/components/Button/Button.test.tsx          |     53 +-
 superset-frontend/src/components/Button/index.tsx  |      3 +-
 .../src/components/Card/Card.stories.tsx           |      7 +-
 .../src/components/Chart/ChartRenderer.test.jsx    |     41 +-
 .../components/Chart/DrillBy/DrillByMenuItems.tsx  |      2 +-
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |     16 +-
 .../Chart/DrillDetail/DrillDetailPane.tsx          |     15 +-
 .../src/components/Checkbox/Checkbox.test.tsx      |     84 +-
 .../ConfirmStatusChange.test.jsx                   |     63 +-
 .../DatabaseSelector/DatabaseSelector.test.tsx     |      2 +-
 .../src/components/DatabaseSelector/index.tsx      |     29 +-
 .../Datasource/ChangeDatasourceModal.test.jsx      |     86 +-
 .../components/Datasource/CollectionTable.test.jsx |     30 +-
 .../src/components/Datasource/DatasourceEditor.jsx |      2 +-
 .../src/components/Datasource/Field.test.tsx       |     54 +-
 .../components/DeleteModal/DeleteModal.test.tsx    |      4 +-
 .../src/components/DeleteModal/index.tsx           |      4 +-
 .../src/components/DropdownButton/index.tsx        |      2 -
 .../EditableTitle/EditableTitle.test.tsx           |    152 +-
 .../ErrorMessage/OAuth2RedirectMessage.tsx         |      2 +-
 .../getErrorMessageComponentRegistry.test.tsx      |      2 +-
 .../src/components/FacePile/FacePile.test.tsx      |     38 +-
 .../src/components/FacePile/index.tsx              |      9 +-
 superset-frontend/src/components/Form/FormItem.tsx |      1 -
 .../src/components/Form/FormLabel.tsx              |      2 -
 .../src/components/FormRow/FormRow.test.jsx        |     52 +-
 .../components/IconTooltip/IconTooltip.test.jsx    |     42 +-
 .../src/components/Icons/AntdEnhanced.tsx          |    101 +-
 .../components/ImportModal/ImportModal.test.tsx    |    216 +-
 .../src/components/Label/Label.test.tsx            |     50 +-
 .../components/LastUpdated/LastUpdated.test.tsx    |     34 +-
 superset-frontend/src/components/ListView/utils.ts |      2 +-
 .../src/components/MessageToasts/Toast.test.jsx    |     47 +-
 .../MessageToasts/ToastPresenter.test.jsx          |     46 +-
 .../components/MetadataBar/MetadataBar.test.tsx    |      2 +-
 .../src/components/MetadataBar/MetadataBar.tsx     |      6 +-
 superset-frontend/src/components/Modal/Modal.tsx   |      1 -
 .../components/ProgressBar/ProgressBar.stories.tsx |     13 +-
 .../src/components/Slider/Slider.stories.tsx       |     77 +-
 .../Slider/Slider.test.tsx}                        |     28 +-
 superset-frontend/src/components/Slider/index.tsx  |      8 +-
 .../src/components/Table/Table.stories.tsx         |      8 +-
 .../src/components/Table/TableOverview.stories.tsx |      2 +-
 .../src/components/Table/sorters.test.ts           |      2 +-
 superset-frontend/src/components/Tabs/Tabs.tsx     |      1 -
 .../src/components/Tags/Tag.stories.tsx            |      7 +-
 .../src/components/Tags/TagsList.stories.tsx       |      5 +-
 .../TimezoneSelector.DaylightSavingTime.test.tsx   |      8 +-
 .../TimezoneSelector/TimezoneSelector.test.tsx     |     25 +-
 .../src/components/TimezoneSelector/index.tsx      |    152 +-
 .../TooltipParagraph/TooltipParagraph.test.tsx     |      2 +-
 superset-frontend/src/components/index.ts          |      5 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |      2 -
 .../DashboardBuilder/DashboardBuilder.test.tsx     |      6 +-
 .../src/dashboard/components/Header/index.jsx      |      6 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |     12 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |      4 +-
 .../src/dashboard/components/SliceHeader/index.tsx |      2 +-
 .../dashboard/components/gridComponents/Chart.jsx  |      2 +-
 .../dashboard/components/gridComponents/Tabs.jsx   |      2 +-
 .../DownloadMenuItems/DownloadScreenshot.test.tsx  |     47 +-
 .../menu/DownloadMenuItems/DownloadScreenshot.tsx  |     55 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |      4 +-
 .../components/nativeFilters/FilterCard/Styles.ts  |      1 -
 .../nativeFilters/FilterCard/useFilterScope.ts     |      9 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |      4 +-
 .../FiltersConfigForm/DependencyList.tsx           |      1 -
 .../FiltersConfigForm/FiltersConfigForm.tsx        |      3 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |      2 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |      4 +-
 .../dashboard/components/nativeFilters/state.ts    |      2 +-
 .../src/dashboard/util/crossFilters.test.ts        |      4 +-
 .../src/dashboard/util/crossFilters.ts             |     19 +-
 .../src/dashboard/util/getDashboardUrl.test.js     |      4 +-
 superset-frontend/src/dataMask/reducer.ts          |      2 +-
 superset-frontend/src/embedded/index.tsx           |      8 +-
 .../explore/components/DataTableControl/index.tsx  |      5 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |      1 -
 .../ColumnConfigControl/ControlForm/index.tsx      |      1 -
 .../components/controls/ComparisonRangeLabel.tsx   |     57 +-
 .../controls/DatasourceControl/index.jsx           |      6 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |      1 -
 .../DateFilterControl/components/CustomFrame.tsx   |     32 +-
 .../DateFilterControl/tests/CustomFrame.test.tsx   |     45 +-
 .../controls/DateFilterControl/utils/constants.ts  |     28 +-
 .../MetricControl/AdhocMetricOption.test.jsx       |    100 +-
 .../MetricControl/MetricDefinitionValue.test.jsx   |     50 +-
 .../controls/MetricControl/MetricsControl.test.jsx |    223 +-
 .../explore/components/controls/SelectControl.jsx  |     64 +-
 .../components/controls/SelectControl.test.jsx     |    240 +-
 .../components/controls/TimeOffsetControl.tsx      |     14 +-
 .../controls/VizTypeControl/FastVizSwitcher.tsx    |      2 -
 .../controls/VizTypeControl/VizTypeGallery.tsx     |      1 -
 .../src/explore/controlUtils/controlUtils.test.tsx |      2 +-
 .../explore/controlUtils/standardizedFormData.ts   |      2 +-
 .../src/explore/exploreUtils/index.js              |      6 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |     31 +-
 .../src/features/alerts/AlertReportModal.tsx       |    154 +-
 .../alerts/components/NotificationMethod.test.tsx  |    302 +-
 .../alerts/components/NotificationMethod.tsx       |     63 +-
 superset-frontend/src/features/alerts/types.ts     |     27 +
 .../src/features/dashboards/DashboardCard.test.tsx |     10 +-
 .../src/features/dashboards/DashboardCard.tsx      |      2 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |     31 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |      6 +-
 .../OAuth2ClientField.test.tsx                     |    181 +
 .../DatabaseConnectionForm/OAuth2ClientField.tsx   |    112 +
 .../DatabaseConnectionForm/ValidatedInputField.tsx |      5 +-
 .../DatabaseConnectionForm/constants.ts            |     92 +
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |    122 +-
 .../databases/DatabaseModal/ExtraOptions.tsx       |      4 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |      1 -
 .../databases/DatabaseModal/index.test.tsx         |     18 +-
 .../src/features/databases/DatabaseModal/index.tsx |     20 +
 .../src/features/databases/DatabaseModal/styles.ts |      3 -
 superset-frontend/src/features/databases/types.ts  |     34 +
 .../datasets/AddDataset/DatasetPanel/types.ts      |      4 +-
 .../AddDataset/LeftPanel/LeftPanel.test.tsx        |      4 +-
 .../datasets/hooks/useGetDatasetRelatedCounts.ts   |      2 +-
 superset-frontend/src/features/home/Menu.tsx       |     12 +-
 superset-frontend/src/features/home/RightMenu.tsx  |      2 +-
 .../features/queries/QueryPreviewModal.test.tsx    |      2 +-
 .../src/features/queries/QueryPreviewModal.tsx     |      1 -
 .../features/queries/SavedQueryPreviewModal.tsx    |      1 -
 .../src/features/rls/RowLevelSecurityModal.tsx     |      8 +-
 .../src/hooks/apiResources/apiResources.ts         |      4 +-
 .../src/hooks/apiResources/catalogs.ts             |     11 +-
 .../src/hooks/apiResources/queryApi.test.ts        |      2 +-
 .../src/hooks/apiResources/queryApi.ts             |      1 +
 .../src/hooks/apiResources/queryValidations.ts     |      2 +-
 .../src/hooks/apiResources/schemas.ts              |     11 +-
 superset-frontend/src/hooks/apiResources/tables.ts |     11 +-
 superset-frontend/src/middleware/logger.test.js    |     20 +-
 .../src/pages/AlertReportList/index.tsx            |      4 +-
 superset-frontend/src/pages/AllEntities/index.tsx  |      1 -
 .../src/pages/ChartCreation/ChartCreation.test.tsx |    176 +-
 superset-frontend/src/pages/ChartList/index.tsx    |      6 +-
 .../src/pages/DashboardList/index.tsx              |      3 -
 .../src/pages/DatabaseList/DatabaseList.test.jsx   |      9 +-
 .../__snapshots__/DatabaseList.test.jsx.snap       |     15 +
 superset-frontend/src/pages/DatabaseList/index.tsx |     87 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |      4 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |     89 +-
 .../RowLevelSecurityList.test.tsx                  |      4 +-
 superset-frontend/src/setup/setupApp.ts            |      2 +-
 superset-frontend/src/theme/index.ts               |     10 +-
 superset-frontend/src/types/ace-builds.ts          |      3 +-
 superset-frontend/src/views/routes.test.tsx        |      2 +-
 superset-frontend/src/views/store.ts               |      2 +-
 .../tools/eslint-plugin-translation-vars/index.js  |      2 +-
 superset-frontend/webpack.config.js                |     59 +-
 superset-frontend/webpack.proxy-config.js          |      3 +
 superset-websocket/.nvmrc                          |      2 +-
 superset-websocket/package-lock.json               |    968 +-
 superset-websocket/package.json                    |     16 +-
 superset-websocket/utils/client-ws-app/.nvmrc      |      2 +-
 .../utils/client-ws-app/package-lock.json          |    257 +-
 .../utils/client-ws-app/package.json               |      2 +-
 superset/async_events/async_query_manager.py       |     80 +-
 superset/async_events/cache_backend.py             |    209 +
 superset/cachekeys/schemas.py                      |      4 +
 superset/charts/api.py                             |     20 +-
 superset/commands/chart/exceptions.py              |      8 +
 superset/commands/chart/fave.py                    |     57 +
 superset/commands/chart/unfave.py                  |     57 +
 superset/commands/dashboard/copy.py                |     53 +
 superset/commands/dashboard/delete.py              |     16 +-
 superset/commands/dashboard/exceptions.py          |     16 +
 .../base.py => dashboard/fave.py}                  |     33 +-
 .../base.py => dashboard/unfave.py}                |     33 +-
 superset/commands/dashboard/update.py              |     79 +-
 superset/commands/database/create.py               |     22 +-
 superset/commands/database/importers/v1/utils.py   |     49 +-
 superset/commands/database/test_connection.py      |     23 +-
 superset/commands/database/update.py               |     40 +-
 superset/commands/database/validate.py             |     11 +-
 superset/commands/dataset/create.py                |     19 +-
 superset/commands/dataset/importers/v1/utils.py    |      2 +-
 superset/commands/dataset/update.py                |     15 +-
 superset/commands/distributed_lock/base.py         |      4 +-
 superset/commands/report/execute.py                |     33 +-
 superset/commands/sql_lab/query.py                 |    109 +
 superset/common/query_actions.py                   |      2 +-
 superset/common/query_context.py                   |      4 +-
 superset/common/query_context_processor.py         |     60 +-
 superset/config.py                                 |     64 +-
 superset/connectors/sqla/models.py                 |    120 +-
 superset/connectors/sqla/utils.py                  |      5 +-
 superset/daos/dataset.py                           |     20 +-
 superset/daos/report.py                            |      8 +
 superset/daos/user.py                              |      4 +-
 superset/dashboards/api.py                         |     40 +-
 superset/dashboards/schemas.py                     |      1 +
 superset/databases/api.py                          |     15 +-
 superset/databases/schemas.py                      |      4 +
 superset/db_engine_specs/README.md                 |      2 +-
 superset/db_engine_specs/base.py                   |    116 +-
 superset/db_engine_specs/bigquery.py               |     48 +-
 .../{couchbasedb.py => couchbase.py}               |     13 +-
 superset/db_engine_specs/databricks.py             |     23 +-
 superset/db_engine_specs/db2.py                    |      2 +
 superset/db_engine_specs/gsheets.py                |     51 +-
 superset/db_engine_specs/mssql.py                  |      1 +
 superset/db_engine_specs/postgres.py               |      3 +-
 superset/db_engine_specs/presto.py                 |      5 +-
 superset/db_engine_specs/snowflake.py              |      6 +
 superset/db_engine_specs/starrocks.py              |     50 +-
 superset/db_engine_specs/trino.py                  |     15 +-
 .../configs/charts/Featured Charts/World_Map.yaml  |     53 -
 .../configs/dashboards/Featured_Charts.yaml        |     25 -
 .../datasets/examples/wb_health_population.yaml    |   4317 -
 superset/exceptions.py                             |     29 +-
 superset/extensions/__init__.py                    |      9 +-
 superset/extensions/metadb.py                      |      2 +-
 superset/initialization/__init__.py                |     29 +-
 superset/jinja_context.py                          |    110 +-
 superset/migrations/env.py                         |     17 +-
 superset/migrations/shared/catalogs.py             |    661 +-
 superset/migrations/shared/constraints.py          |     22 +
 superset/migrations/shared/utils.py                |     14 +
 ...20_16-02_678eefb4ab44_add_access_token_table.py |      3 +
 ...-04-11_15-41_5f57af97bc3f_add_catalog_column.py |     28 +-
 ...0-52_58d051681a3b_add_catalog_perm_to_tables.py |      2 +-
 ...9123a_update_charts_with_old_time_comparison.py |     28 +-
 ...4-05-24_11-31_02f4f7811799_remove_sl__tables.py |    197 -
 ...2f4f7811799_remove_sl_dataset_columns_table.py} |     49 +-
 ..._39549add7bfc_remove_sl_table_columns_table.py} |     49 +-
 ...15-23_38f4144e8558_remove_sl_dataset_tables.py} |     49 +-
 ..._15-27_e53fd48cc078_remove_sl_dataset_users.py} |     49 +-
 ...4-08-13_15-29_a6b32d2d07b1_remove_sl_columns.py |     82 +
 ...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                            |     20 +-
 superset/models/helpers.py                         |     51 +-
 superset/models/slice.py                           |      1 +
 superset/security/api.py                           |     18 +-
 superset/security/guest_token.py                   |      5 +-
 superset/security/manager.py                       |     31 +-
 superset/{advanced_data_type => sql}/__init__.py   |      0
 superset/sql/parse.py                              |    648 +
 superset/sql_lab.py                                |      7 +-
 superset/sql_parse.py                              |    590 +-
 superset/sqllab/api.py                             |      3 +-
 superset/sqllab/sqllab_execution_context.py        |      2 +
 superset/tasks/cache.py                            |      6 +-
 superset/tasks/celery_app.py                       |      3 +
 superset/tasks/scheduler.py                        |     18 +-
 superset/tasks/thumbnails.py                       |     30 +-
 superset/tasks/utils.py                            |     48 +-
 superset/templates/head_custom_extra.html          |     24 +
 superset/templates/superset/base.html              |      1 +
 superset/templates/superset/basic.html             |     11 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   8262 +-
 superset/translations/de/LC_MESSAGES/messages.po   |     94 +-
 superset/translations/en/LC_MESSAGES/messages.po   |     77 +-
 superset/translations/es/LC_MESSAGES/messages.po   |     84 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |     93 +-
 superset/translations/it/LC_MESSAGES/messages.po   |     77 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |    104 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |     77 +-
 superset/translations/messages.pot                 |     77 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |     93 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |     77 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |     92 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |     95 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |     72 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |     93 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |     80 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |     94 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |     84 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |     84 +-
 superset/utils/core.py                             |      1 +
 superset/utils/excel.py                            |     21 +-
 superset/utils/json.py                             |    115 +-
 superset/utils/machine_auth.py                     |      2 +
 superset/utils/screenshots.py                      |      1 -
 superset/views/base.py                             |      2 +
 superset/views/database/mixins.py                  |      2 +-
 superset/views/sql_lab/views.py                    |      2 +
 tests/integration_tests/async_events/api_tests.py  |     53 +-
 tests/integration_tests/base_tests.py              |      1 +
 tests/integration_tests/charts/api_tests.py        |     10 +-
 tests/integration_tests/charts/commands_tests.py   |     69 +-
 tests/integration_tests/charts/data/api_tests.py   |      1 +
 tests/integration_tests/commands_test.py           |     13 +-
 tests/integration_tests/conftest.py                |      2 +-
 tests/integration_tests/dashboards/api_tests.py    |      6 +-
 .../integration_tests/dashboards/commands_tests.py |    173 +-
 .../dashboards/update_tabs_test.py                 |    219 +
 tests/integration_tests/databases/api_tests.py     |    124 +-
 .../integration_tests/databases/commands_tests.py  |     70 +-
 tests/integration_tests/datasets/api_tests.py      |     79 +-
 tests/integration_tests/datasets/commands_tests.py |     12 +-
 tests/integration_tests/datasource_tests.py        |    127 +-
 .../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                |      2 +-
 tests/integration_tests/event_logger_tests.py      |      2 +-
 tests/integration_tests/fixtures/importexport.py   |      6 +-
 ...update_charts_with_old_time_comparison__test.py |    204 +-
 .../queries/saved_queries/api_tests.py             |      4 +-
 .../queries/saved_queries/commands_tests.py        |      6 +-
 .../commands/execute_dashboard_report_tests.py     |     30 +-
 tests/integration_tests/reports/commands_tests.py  |    160 +-
 tests/integration_tests/reports/utils.py           |     28 +-
 tests/integration_tests/security/api_tests.py      |    143 +-
 .../security/guest_token_security_tests.py         |     36 +-
 .../security/row_level_security_tests.py           |      9 +-
 tests/integration_tests/security_tests.py          |      5 +-
 tests/integration_tests/sql_lab/api_tests.py       |      2 +-
 tests/integration_tests/sqla_models_tests.py       |      6 +-
 tests/integration_tests/superset_test_config.py    |      6 +-
 .../superset_test_config_thumbnails.py             |      4 -
 .../integration_tests/tasks/async_queries_tests.py |     94 +-
 tests/integration_tests/tasks/test_cache.py        |     15 +-
 .../tasks/{test_cache.py => test_utils.py}         |     32 +-
 .../async_events/async_query_manager_tests.py      |     37 +-
 .../charts/commands/importers/v1/import_test.py    |     42 +-
 tests/unit_tests/commands/databases/create_test.py |     31 +
 .../commands/databases/test_connection_test.py     |     91 +
 tests/unit_tests/commands/databases/update_test.py |     60 +-
 .../unit_tests/commands/databases/validate_test.py |    206 +
 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/user_test.py                  |     94 +-
 .../commands/importers/v1/import_test.py           |     42 +-
 tests/unit_tests/databases/api_test.py             |     88 +-
 .../databases/commands/importers/v1/import_test.py |     57 +-
 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      |     58 +
 tests/unit_tests/db_engine_specs/test_bigquery.py  |     96 +-
 tests/unit_tests/db_engine_specs/test_couchbase.py |     16 +-
 .../unit_tests/db_engine_specs/test_databricks.py  |     22 +-
 tests/unit_tests/db_engine_specs/test_db2.py       |      8 +-
 tests/unit_tests/db_engine_specs/test_gsheets.py   |     92 +-
 tests/unit_tests/db_engine_specs/test_mssql.py     |      6 +-
 tests/unit_tests/db_engine_specs/test_postgres.py  |      8 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |    103 +
 tests/unit_tests/db_engine_specs/test_starrocks.py |     45 +
 tests/unit_tests/db_engine_specs/test_trino.py     |     50 +-
 tests/unit_tests/jinja_context_test.py             |    172 +-
 .../unit_tests/migrations/shared/catalogs_test.py  |    101 +-
 tests/unit_tests/models/core_test.py               |     79 +-
 .../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           |     89 +-
 tests/unit_tests/security/manager_test.py          |     15 +-
 .../unit_tests/sql}/__init__.py                    |      0
 tests/unit_tests/sql/parse_tests.py                |    920 +
 tests/unit_tests/sql_lab_test.py                   |      2 +-
 tests/unit_tests/sql_parse_tests.py                |    189 +-
 tests/unit_tests/utils/excel_tests.py              |     65 +-
 tests/unit_tests/utils/json_tests.py               |     46 +
 610 files changed, 69603 insertions(+), 87277 deletions(-)
 delete mode 100644 .github/workflows/superset-python-misc.yml
 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
 copy superset-frontend/{src/types/ace-builds.ts => packages/superset-ui-chart-controls/src/ace-builds.d.ts} (93%)
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/transformers.test.ts
 delete mode 100644 superset-frontend/plugins/plugin-chart-table/test/enzyme.tsx
 copy superset-frontend/{src/views/routes.test.tsx => plugins/plugin-chart-table/test/testHelpers.tsx} (65%)
 copy superset-frontend/src/{views/routes.test.tsx => components/Slider/Slider.test.tsx} (62%)
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/OAuth2ClientField.test.tsx
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/OAuth2ClientField.tsx
 create mode 100644 superset-frontend/src/features/databases/DatabaseModal/DatabaseConnectionForm/constants.ts
 create mode 100644 superset-frontend/src/pages/DatabaseList/__snapshots__/DatabaseList.test.jsx.snap
 create mode 100644 superset/async_events/cache_backend.py
 create mode 100644 superset/commands/chart/fave.py
 create mode 100644 superset/commands/chart/unfave.py
 create mode 100644 superset/commands/dashboard/copy.py
 copy superset/commands/{distributed_lock/base.py => dashboard/fave.py} (51%)
 copy superset/commands/{distributed_lock/base.py => dashboard/unfave.py} (51%)
 create mode 100644 superset/commands/sql_lab/query.py
 rename superset/db_engine_specs/{couchbasedb.py => couchbase.py} (96%)
 delete mode 100644 superset/examples/configs/charts/Featured Charts/World_Map.yaml
 delete mode 100644 superset/examples/configs/datasets/examples/wb_health_population.yaml
 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} (51%)
 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} (51%)
 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} (51%)
 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%)
 copy superset/{advanced_data_type => sql}/__init__.py (100%)
 create mode 100644 superset/sql/parse.py
 create mode 100644 superset/templates/head_custom_extra.html
 mode change 100755 => 100644 superset/translations/ja/LC_MESSAGES/messages.po
 create mode 100644 tests/integration_tests/dashboards/update_tabs_test.py
 copy tests/integration_tests/tasks/{test_cache.py => test_utils.py} (63%)
 create mode 100644 tests/unit_tests/commands/databases/test_connection_test.py
 create mode 100644 tests/unit_tests/commands/databases/validate_test.py
 create mode 100644 tests/unit_tests/commands/report/execute_test.py
 create mode 100644 tests/unit_tests/connectors/sqla/utils_test.py
 copy {superset/advanced_data_type => tests/unit_tests/sql}/__init__.py (100%)
 create mode 100644 tests/unit_tests/sql/parse_tests.py