Compare commits

...
Author SHA1 Message Date
Maxime Beauchemin 49a6f9bcbe removing lean39 from matrix 2024-01-23 09:58:04 -08:00
Maxime Beauchemin 5dff290a53 fix dockerfile 2024-01-23 09:58:04 -08:00
Maxime Beauchemin d40614e0ab moving COPY after pip install 2024-01-23 09:58:04 -08:00
Maxime Beauchemin 5d1b443939 bring ephemeral build to top level 2024-01-23 09:58:04 -08:00
Maxime Beauchemin 442520a535 bring ephemeral build to top level 2024-01-23 09:58:04 -08:00
Maxime Beauchemin 0182457970 trying v4 2024-01-23 09:58:04 -08:00
Maxime Beauchemin bee3014c37 use the right cache for ephemeral env 2024-01-23 09:58:04 -08:00
Maxime Beauchemin 686c13b6f4 bumping actions versions 2024-01-23 09:58:04 -08:00
Maxime Beauchemin 6bf409b429 missed a thing 2024-01-23 09:58:04 -08:00
Maxime Beauchemin a9894304b0 move DEV_TAG up 2024-01-23 09:58:04 -08:00
Maxime Beauchemin c8b707d9b7 missed a thing 2024-01-23 09:58:03 -08:00
Maxime Beauchemin b4f10b08b1 missed a thing 2024-01-23 09:58:03 -08:00
Maxime Beauchemin d0784e7094 missed a thing 2024-01-23 09:58:03 -08:00
Maxime Beauchemin ecc2705074 skipping --target for dockerize and websocket 2024-01-23 09:58:03 -08:00
Maxime Beauchemin 88642067a1 fix unit test 2024-01-23 09:58:03 -08:00
Maxime Beauchemin 5af05976d8 temp chec 2024-01-23 09:58:03 -08:00
Maxime Beauchemin 83d2e7f903 fix 2024-01-23 09:58:03 -08:00
Maxime Beauchemin d9565fa489 typo 2024-01-23 09:58:03 -08:00
Maxime Beauchemin 412a71d758 changing the approach 2024-01-23 09:58:03 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f8f5c548c9 build(deps): bump @visx/axis from 3.0.1 to 3.5.0 in /superset-frontend (#26714)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 06:57:05 +13:00
Daniel Vaz Gaspar 29d3add866 docs: update fixed CVEs for version 3.0.3 (#26760) 2024-01-23 17:54:37 +00:00
Daniel Vaz GasparandGeido 74f953ddd2 fix: docker ephemeral environment, push only on testenv comment (#26473)
Co-authored-by: Geido <60598000+geido@users.noreply.github.com>
2024-01-23 15:46:46 +00:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Evan Rusackas
98c84babb9 build(deps): update @types/d3-cloud requirement from ^1.2.1 to ^1.2.9 in /superset-frontend/plugins/plugin-chart-word-cloud (#26483)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2024-01-23 08:21:09 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d7d63bc184 build(deps): bump fuse.js from 6.4.6 to 7.0.0 in /superset-frontend (#26616)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 08:19:46 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 04445a3487 build(deps-dev): bump webpack from 5.76.0 to 5.89.0 in /docs (#26717)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:45:34 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2842b63cbe build(deps-dev): bump prettier-plugin-packagejson from 2.2.15 to 2.4.9 in /superset-frontend (#26570)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:31:33 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 36608b503e build(deps-dev): bump @babel/register from 7.22.5 to 7.23.7 in /superset-frontend (#26556)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:31:17 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2961d69a82 build(deps): update react-table requirement from ^7.6.3 to ^7.8.0 in /superset-frontend/plugins/plugin-chart-table (#26522)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:30:50 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6557fb8132 build(deps): bump react-github-btn from 1.2.1 to 1.4.0 in /docs (#26613)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:22:52 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 43cf0c69ec build(deps-dev): bump eslint-plugin-react-hooks from 4.2.0 to 4.6.0 in /superset-frontend (#26572)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:22:38 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 60d1e4e95a build(deps): bump @emotion/babel-preset-css-prop from 11.2.0 to 11.11.0 in /superset-frontend (#26576)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 19:22:21 -07:00
Maxime Beauchemin 75a98af64b feat: auto-label PRs that contain db migrations (#26745) 2024-01-22 16:24:07 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6a1ce6a704 build(deps): bump @saucelabs/theme-github-codeblock from 0.1.1 to 0.2.3 in /docs (#26724)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 15:54:31 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> be748f35cd build(deps): bump @docsearch/react from 3.3.3 to 3.5.2 in /docs (#26720)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 15:53:06 -07:00
Vitor Avila 5eb4e82d27 fix(db2): Improving support for ibm db2 connections (#26744) 2024-01-22 17:05:58 -05:00
Evan Rusackas ffc357c6a1 chore(dependencies): loosen constraints on dependency checker (#26708) 2024-01-22 13:50:16 -07:00
Vitor Avila 3ed70d8f53 fix(legacy-charts): Show Time Grain control for legacy charts (#26705) 2024-01-22 12:37:03 -07:00
Evan Rusackas ef4878b845 fix: do not use lodash/memoize (#26709) 2024-01-22 12:36:43 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> a49526d984 build(deps): bump @babel/traverse from 7.22.8 to 7.23.2 in /superset-frontend (#25665)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 11:42:29 -07:00
Evan Rusackas 60004f5bf3 chore(dependencies): removes unsued d3-color and d3-array (#26694) 2024-01-22 10:59:14 -07:00
Evan Rusackas 969f8edc5a chore(dependencies): removes unused minimist (#26692) 2024-01-22 10:59:08 -07:00
Evan Rusackas ae3bb47708 chore(dependencies): remove unused global-box (#26690) 2024-01-22 10:59:01 -07:00
Evan Rusackas eba3929ed1 chore(dependencies): remove unused lodash-es (#26689) 2024-01-22 10:58:55 -07:00
Evan Rusackas 214142f54a chore(dependencies): remove unused react-datetime (#26688) 2024-01-22 10:58:48 -07:00
Evan Rusackas 9c3f40d87c chore(dependencies): remove unused ansi-regex (#26687) 2024-01-22 10:58:43 -07:00
Evan Rusackas 9f7db406f1 chore(dependencies): removes unused @visx/tooltip (#26686) 2024-01-22 10:58:37 -07:00
Evan Rusackas 775474366e chore(dependencies): remove unused @babel/runtime-corejs3 (#26685) 2024-01-22 10:58:31 -07:00
Evan Rusackas c989a1cbce chore(dependencies): removes unused bootstrap-slider (#26684) 2024-01-22 10:57:57 -07:00
Evan Rusackas 4a27e79001 chore(dependencies): npm audit fix for superset-ui-demo (#26691) 2024-01-22 10:56:56 -07:00
Maxime Beauchemin f46121dba9 chore: silence SECRET_KEY warning when running tests (#26703) 2024-01-22 09:20:48 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ce26ecbd90 build(deps-dev): bump @types/node from 20.11.1 to 20.11.5 in /superset-websocket (#26733)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 09:59:17 -07:00
Beto Dealmeida c0b57bd1c3 feat(sqlparse): improve table parsing (#26476) 2024-01-22 11:16:50 -05:00
Denis Krivenko d34874cf2b feat(helm): Upgrade default Superset version to 3.1.0 (#26707) 2024-01-21 09:43:17 -08:00
Maxime Beauchemin e86d4d3c92 fix(import): only import FORMULA annotations (#26652) 2024-01-19 15:13:18 -08:00
Maxime Beauchemin 1283803844 chore: add unique constraint to tagged_objects (#26654) 2024-01-19 15:12:54 -08:00
Pieter Ennes effd73f2cc fix: Catch ImportErrors for Google SDKs (#25550) 2024-01-19 15:00:43 -08:00
Michael S. Molina 69b57016b3 refactor: Removes the deprecated DASHBOARD_NATIVE_FILTERS feature flag (#26329) 2024-01-19 17:07:38 -03:00
Evan Rusackas 3acda145f1 fix: Revert "build(deps): bump @mdx-js/react from 1.6.22 to 3.0.0 in /docs" (#26682) 2024-01-19 12:46:44 -07:00
Michael S. Molina f63e66be01 refactor: Removes the deprecated VERSIONED_EXPORT feature flag (#26347) 2024-01-19 15:21:14 -03:00
Michael S. Molina 649ff4dd61 fix: Revert "buld(deps): bump swagger-ui-react from 4.1.3 to 5.11.0 in docs (#26552) (#26679) 2024-01-19 15:00:51 -03:00
Michael S. Molina 1010294f2b chore: Updates the Release Process link in the issue template (#26677) 2024-01-19 13:31:56 -03:00
Michael S. Molina a84d86fe26 refactor: Removes the deprecated redirect endpoint (#26377) 2024-01-19 11:39:04 -03:00
Michael S. MolinaandJohn Bodley d9a3c3e1dd refactor: Removes the Filter Box code (#26328)
Co-authored-by: John Bodley <john.bodley@gmail.com>
2024-01-19 09:54:53 -03:00
Michael S. Molina 591f266543 chore: Updates the bug report template (#26375) 2024-01-18 16:32:21 -03:00
Michael S. Molina 8f8c435d7c refactor: Removes the Profile feature (#26462) 2024-01-18 15:36:40 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b245e66198 build(deps): bump the npm_and_yarn group group in /superset-frontend with 2 updates (#26665)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 11:22:59 -07:00
Michael S. Molina 03b8d8f7f7 chore: Updates CHANGELOG.md and UPDATING.md with 3.1.0 data (#26661) 2024-01-18 13:24:58 -03:00
Michael S. Molina ae0eb4b8d9 refactor: Removes the deprecated DASHBOARD_FILTERS_EXPERIMENTAL feature flag (#26330) 2024-01-18 13:24:25 -03:00
Linghao Wang 8539dfd0ba fix(translation): correct translation errors for Chinese(zh) (#26645)
Signed-off-by: Waterkin <1055905911@qq.com>
2024-01-18 08:38:43 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 188bb5cab2 build(deps): bump @mdx-js/react from 1.6.22 to 3.0.0 in /docs (#26547)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 08:21:30 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 7884df1ee2 build(deps): bump swagger-ui-react from 4.1.3 to 5.11.0 in /docs (#26552)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 08:20:57 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> cadb732713 build(deps-dev): bump @tsconfig/docusaurus from 1.0.7 to 2.0.2 in /docs (#26555)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 08:20:39 -07:00
Michael S. Molina 4d9144eca5 refactor: Migrates legacy Sunburst charts to ECharts and removes legacy code (#26350) 2024-01-18 11:59:08 -03:00
Michael S. Molina cf20b3439c refactor: Removes the deprecated ENABLE_EXPLORE_JSON_CSRF_PROTECTION feature flag (#26344) 2024-01-18 10:29:51 -03:00
Michael S. Molina b06ab7d8e3 refactor: Removes the deprecated ENABLE_TEMPLATE_REMOVE_FILTERS feature flag (#26345) 2024-01-18 09:03:03 -03:00
Jonathon Batson 6443001cef docs: update embedded readme with user params context (#25800) 2024-01-17 16:21:56 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 860aa55d00 build(deps): bump node-notifier from 8.0.0 to 8.0.1 in /superset-frontend (#12175)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 16:20:29 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 9e154d1a48 build(deps): bump clsx from 1.1.1 to 2.1.0 in /docs (#26549)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 15:47:07 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> c900dd0b78 build(deps-dev): bump typescript from 4.4.4 to 5.3.3 in /docs (#26560)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 15:44:18 -07:00
Michael S. Molina add2924ed1 chore: Updates CHANGELOG.md and UPDATING.md with 3.0.3 data (#26650) 2024-01-17 16:36:08 -03:00
Michael S. Molina 9724abf090 fix: Removes unused cache cleanup (#26648) 2024-01-17 16:34:45 -03:00
Michael S. Molina f8d25612ba refactor: Removes the deprecated REMOVE_SLICE_LEVEL_LABEL_COLORS feature flag (#26346) 2024-01-17 16:29:08 -03:00
John Bodley df79522160 refactor: Ensure Flask framework leverages the Flask-SQLAlchemy session (#26200) 2024-01-18 08:27:29 +13:00
Igor Khrol 80a6e25a98 fix: Avoid 500 if end users write bad SQL (#26638) 2024-01-18 06:48:50 +13:00
Michael S. Molina eff4422d04 chore: Deprecates the DASHBOARD_CROSS_FILTERS feature flag (#26633) 2024-01-17 13:01:27 -03:00
Daniel Vaz Gaspar 95cb30be4b fix: remove possible unnecessary file 1 (#26649) 2024-01-17 15:48:43 +00:00
Michael S. Molina d5b62d8d3e chore: Deprecates the ENABLE_JAVASCRIPT_CONTROLS feature flag (#26635) 2024-01-17 11:39:57 -03:00
Michael S. Molina 90c3e56d32 chore: Sets DASHBOARD_VIRTUALIZATION feature flag to True by default (#26636) 2024-01-17 11:39:11 -03:00
Vitor Avila 197c6e65ed chore(API): Include changed_by.id in Get Charts and Get Datasets API responses (#26540) 2024-01-17 14:12:46 +00:00
Michael S. Molina 902dafde48 chore: Sets the DRILL_BY feature flag to True by default (#26637) 2024-01-17 10:16:04 -03:00
Daniel Vaz Gaspar 6a4043d0f0 fix: unnecessary logic on CI ephemeral (#26644) 2024-01-17 12:49:28 +00:00
Daniel Vaz Gaspar 8e19f59dd2 fix: create virtual dataset validation (#26625) 2024-01-17 09:11:15 +00:00
John Bodley 7af82ae87d refactor: Ensure Celery leverages the Flask-SQLAlchemy session (#26186) 2024-01-17 17:06:22 +13:00
Elizabeth Thompson aaa4a7b371 feat: global logs context (#26418) 2024-01-16 14:44:30 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 14106f7bb2 build(deps): update datamaps requirement from ^0.5.8 to ^0.5.9 in /superset-frontend/plugins/legacy-plugin-chart-world-map (#26500)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 14:41:43 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 87f2b93023 build(deps-dev): bump @babel/traverse from 7.16.10 to 7.23.2 in /superset-embedded-sdk (#25663)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 14:21:40 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 59c0e973a4 build(deps): bump @babel/traverse from 7.21.4 to 7.23.2 in /superset-frontend/cypress-base (#25664)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 14:21:26 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ee8b22dd29 build(deps): bump @babel/traverse from 7.16.3 to 7.23.2 in /docs (#25662)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 14:20:50 -07:00
Fenil Mehta 2e17a9e94f docs: fix links (#26606) 2024-01-16 15:38:56 -05:00
Michael S. Molina 7fccea1556 refactor: Removes the deprecated CLIENT_CACHE feature flag (#26348) 2024-01-16 15:40:16 -03:00
Musa Hamadaandmusa.hammadi 7ab37d2aae feat(celery): upgrade celery and its dependencies packages (#26604)
Co-authored-by: musa.hammadi <musa.hammadi@infostrategic.com>
2024-01-17 06:59:49 +13:00
Geido 820f4b9cf0 fix: RLS modal styling (#26634) 2024-01-16 18:29:06 +01:00
Michael S. Molina 2d3ff8c0dc refactor: Removes the deprecated DASHBOARD_CACHE feature flag (#26349) 2024-01-16 14:14:42 -03:00
Michael S. Molina 9387c4c16f refactor: Removes the filters set feature (#26369) 2024-01-16 12:42:35 -03:00
Michael S. Molina 7ca6d8c880 chore: Deprecates the KV_STORE feature flag (#26450) 2024-01-16 10:49:14 -03:00
Michael S. Molina 6063f4ff04 refactor: Removes the deprecated ENABLE_EXPLORE_DRAG_AND_DROP feature flag (#26343) 2024-01-16 10:47:52 -03:00
Michael S. Molina b2ad74f94f refactor: Removes the deprecated DISABLE_DATASET_SOURCE_EDIT feature flag (#26331) 2024-01-16 09:29:41 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8b047a521b build(deps): update lodash requirement from ^4.17.11 to ^4.17.21 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#26589)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 21:18:07 -07:00
Elizabeth Thompson 0b20ace65d fix: stringify scarf pixel value (#26351) 2024-01-15 21:12:18 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3fe240742a build(deps): update urijs requirement from ^1.19.8 to ^1.19.11 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#26506)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:26:39 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b4621d2f2a build(deps-dev): bump style-loader from 3.3.3 to 3.3.4 in /superset-frontend (#26520)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:26:25 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> bc76cd4898 build(deps-dev): bump @types/urijs from 1.19.19 to 1.19.25 in /superset-frontend (#26538)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:26:08 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 01e8231531 build(deps): update lodash requirement from ^4.17.15 to ^4.17.21 in /superset-frontend/packages/superset-ui-chart-controls (#26530)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:23:10 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 29f5d4aa41 build(deps): update xss requirement from ^1.0.10 to ^1.0.14 in /superset-frontend/plugins/plugin-chart-table (#26539)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:22:46 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> dec241be4e build(deps): bump moment-timezone from 0.5.37 to 0.5.44 in /superset-frontend (#26545)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:22:31 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b28fc1678e build(deps): bump less from 4.1.3 to 4.2.0 in /docs (#26562)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:22:07 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ed51b3b59c build(deps): bump @docusaurus/preset-classic from 2.4.1 to 2.4.3 in /docs (#26612)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:21:15 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 515b49d64a build(deps-dev): bump @types/node from 20.11.0 to 20.11.1 in /superset-websocket (#26619)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-15 16:21:02 -07:00
Daniel Vaz Gaspar 2f3bb5b169 fix: improve performance on reports log queries (#26416) 2024-01-15 19:04:44 +00:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> c947be356c build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-sunburst (#26503)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:15:30 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 03c0d3722e build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-rose (#26509)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:15:14 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 785cfa6003 build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-country-map (#26515)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:14:59 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fd44943aaf build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-partition (#26524)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:14:45 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 602e85620c build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-chord (#26525)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:14:20 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 442d70c471 build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-histogram (#26535)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:13:26 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> bf0d0d538e build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-calendar (#26536)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:13:12 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3e70dee89f build(deps): update lodash requirement from ^4.17.15 to ^4.17.21 in /superset-frontend/plugins/plugin-chart-echarts (#26541)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:12:58 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 58c0f2cc7d build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-map-box (#26569)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:12:44 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3c7a6513e8 build(deps): update prop-types requirement from ^15.7.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates (#26574)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:12:30 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 30d3a96d61 build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-horizon (#26580)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:12:17 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8bd47f47cd build(deps): update prop-types requirement from ^15.7.2 to ^15.8.1 in /superset-frontend/packages/superset-ui-chart-controls (#26587)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 17:12:03 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 552823f329 build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-sankey (#26477)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:58:19 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d385abd13b build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#26480)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:58:06 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3ec77597bf build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-world-map (#26484)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:57:49 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 5ca7326fbd build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-event-flow (#26486)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:57:29 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 07ce6b0a52 build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-heatmap (#26488)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:57:14 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d070cf9257 build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-sankey-loop (#26492)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:56:57 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6f27dc8be3 build(deps): bump @docusaurus/plugin-client-redirects from 2.4.1 to 2.4.3 in /docs (#26558)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:56:43 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 94df597107 build(deps): bump @algolia/client-search from 4.13.0 to 4.22.1 in /docs (#26554)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:55:33 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 7f9a03bfea build(deps): bump react-draggable from 4.4.3 to 4.4.6 in /superset-frontend (#26559)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:55:17 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 517991d7bc build(deps): bump react-resizable from 3.0.4 to 3.0.5 in /superset-frontend (#26568)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:55:03 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f37b558042 build(deps): update lodash requirement from ^4.17.11 to ^4.17.21 in /superset-frontend/packages/generator-superset (#26591)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:53:53 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 76c17261d0 build(deps): update prop-types requirement from ^15.6.2 to ^15.8.1 in /superset-frontend/plugins/legacy-plugin-chart-paired-t-test (#26592)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:53:18 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 471da0d391 build(deps-dev): update yeoman-assert requirement from ^3.1.0 to ^3.1.1 in /superset-frontend/packages/generator-superset (#26600)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 16:53:02 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> a59f691610 build(deps): update fast-safe-stringify requirement from ^2.0.6 to ^2.1.1 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#26601)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-13 14:43:22 -07:00
Evan Rusackas b98d4b43ba chore(deps): adding dependabot for plugins/packages and upping PR limits. (#26444) 2024-01-12 14:57:33 -07:00
ʈᵃᵢ c186ea33ea docs: Update installing-superset-from-scratch.mdx (#26468) 2024-01-12 10:53:49 -07:00
Beto Dealmeida e36c014290 fix(database): allow filtering by UUID (#26469) 2024-01-12 11:18:39 -05:00
Vitor Avila 494068b632 fix(embedded): Hide dashboard fullscreen option for embedded context (#26412) 2024-01-11 14:44:12 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 0f8a3b31d3 build(deps-dev): bump @types/node from 20.10.8 to 20.11.0 in /superset-websocket (#26455)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-12 06:48:48 +13:00
Igor KhrolandJohn Bodley 3daa038f5f fix: Trino - handle table not found in SQLLab (#26355)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2024-01-11 13:37:18 +13:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b2a21f7166 build(deps-dev): bump @types/node from 20.10.7 to 20.10.8 in /superset-websocket (#26447)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 15:08:04 -07:00
Ville Brofeldt a1993566c4 chore: bump prophet to 1.1.5 (#26431) 2024-01-10 11:12:01 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ea4e9a6403 build(deps): bump follow-redirects from 1.15.2 to 1.15.4 in /superset-frontend (#26441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 16:59:30 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d3da503edb build(deps-dev): bump follow-redirects from 1.15.3 to 1.15.4 in /superset-embedded-sdk (#26440)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 15:10:12 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> a23825c23c build(deps): bump follow-redirects from 1.14.8 to 1.15.4 in /docs (#26438)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 13:50:56 -07:00
Ville Brofeldt ff025b78f3 fix(post-processing): handle missing values in cumulative operator (#26429) 2024-01-09 08:56:19 -03:00
Zef Lin efdeb9df05 feat(embedded+async queries): support async queries to work with embedded guest user (#26332) 2024-01-08 17:11:45 -08:00
Xuebin Zhang 4c2e818cd3 fix(translations): Clear all (#26424) 2024-01-08 22:18:45 +01:00
Ville Brofeldt 219c4a14b3 fix(plugin-chart-echarts): support forced categorical x-axis (#26404) 2024-01-08 12:04:22 -08:00
Siva Sathyaseelan 6d58566779 fix: In chart gallery thumbnail is rendered in case of no example in #16707 (#26415) 2024-01-08 11:44:58 -07:00
Sam Firke 3a6dc1d24e chore(docs): remove incorrect answer from FAQ (#26428) 2024-01-08 13:37:59 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> db04ea40fb build(deps-dev): bump @types/node from 20.10.6 to 20.10.7 in /superset-websocket (#26425)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 06:55:18 +13:00
John Bodley 77bd7cf1c6 chore: Reenable SQLite tests which leverage foreign key constraints et al. (#24605) 2024-01-09 06:33:47 +13:00
周小馬 3a7d76cece feat: Add ValuePercent option to LABEL TYPE for Pie and Funnel charts (#26407) 2024-01-05 10:00:27 +13:00
Sonia GautamandSonia dfde2adf27 fix(chart): Resolve incorrect column customization when switching metrics in table chart (#26393)
Co-authored-by: Sonia <sonia.gautam@agoda.com>
2024-01-04 12:31:24 -07:00
Guen PrawiroatmodjoandJohn Bodley bba1b14bf0 fix(sqllab): Bump duckdb-engine version to 0.9.5 (#26405)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2024-01-04 12:30:45 -07:00
JUST.in DO IT 300ddaedf9 fix(dashboard): narrow empty drop area (#26313) 2024-01-04 09:44:23 -08:00
Siva Sathyaseelan d0ffe9af7c fix(dashboard): Chart menu disable is fixed on chart-fullscreen in issue #25992 (#26410) 2024-01-04 11:33:07 -03:00
Michael S. Molina 6f6c37ec26 fix: Reactivates native filters E2E tests (#26362) 2024-01-03 15:06:55 -07:00
Boris Strelchik 9ffcd6410e fix(embed): an error occurred while rendering the visualization: error: Item with key ... is not registered. (#26398) 2024-01-04 07:15:28 +13:00
Irina Shebarshina a0f0f698f4 fix(SelectControl): select zero value (#26353) 2024-01-03 10:11:26 -08:00
Michael S. Molina 9432bd88f5 fix: Invalid references in the basic template (#26302) 2024-01-03 13:25:52 -03:00
Michael S. Molina 77f58fc8fa fix: Removes non-existent columns in the 2018 FCC Survey dataset (#26380) 2024-01-03 11:13:07 -03:00
Willie Hung 113a8a381c chore: Add example charts for deck.gl (#25770)
Signed-off-by: Willie Hung <willie880201044@gmail.com>
2024-01-03 09:46:21 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 9033e72679 build(deps-dev): bump @types/node from 20.10.5 to 20.10.6 in /superset-websocket (#26386)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 07:07:09 +13:00
Fenil Mehta 24e6ec3dca docs: fix spelling and grammar (#26381) 2024-01-03 07:06:45 +13:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6e443ad1eb build(deps): bump ws from 8.15.0 to 8.16.0 in /superset-websocket (#26363)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 07:01:27 +13:00
Michael S. Molina 29633e7d8c fix: Duplicated plugin registration (#26379) 2023-12-29 15:58:26 -03:00
Jeremy 3a0391bbb9 fix(databend): databend time grain expression (#26378) 2023-12-29 09:00:05 -03:00
Denis Baltor f78f33d9aa docs: fix config webdriver snippet in install on K8s (#26371) 2023-12-28 12:07:52 -05:00
Sam Firke 4a0312243d chore(docs): point to correct StackOverflow page (#26368) 2023-12-28 10:57:36 -05:00
863f8bbbcd fix(chart): Set max row limit + removed the option to use an empty row limit value (#26151)
Co-authored-by: Lily Kuang <lily@preset.io>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-12-26 19:32:11 -07:00
Vitor AvilaandMichael S. Molina fe9fbadade chore(Embedded): Avoid creating a filter key for guest users (#26312)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-12-26 19:31:51 -07:00
John Bodley 5f5a656835 fix(logging): Add logging of change_dashboard_filter event for native dashboard filters (#26333) 2023-12-27 08:48:55 +13:00
arun b6d433de32 fix(accessibility): Enable tabbing on sort header of table chart (#26326) 2023-12-22 22:28:41 -08:00
Lily Kuang 3391e29093 fix(tagging): adding tags containing a “:” to dashboards (#26324)
will add more tests in a separated PR
2023-12-22 10:30:08 -08:00
Kamil Gabryjelski 5400d30b20 feat(echarts-funnel): Implement % calculation type (#26290) 2023-12-22 13:14:52 +01:00
Kamil Gabryjelski 39ac45351b fix(dashboard): Don't switch to first tab when directPathToChild changes (#26340) 2023-12-22 13:13:35 +01:00
Michael S. Molina 5bd7fd7990 chore: Adds a tooltip for the alert's SQL input (#26317) 2023-12-22 08:32:59 -03:00
Kamil Gabryjelski 5e85f5c81f chore: Add downloadAsImage types, change filter selector (#26297) 2023-12-21 08:53:23 +01:00
gaurav7261andGauravM 60abf7e2af fix(redshift): convert_dttm method for redshift dataset and tests (#26283)
Co-authored-by: GauravM <gaurav@ip-192-168-0-100.ap-south-1.compute.internal>
2023-12-21 09:55:34 +13:00
Guen Prawiroatmodjo 9d3796828c fix(sql lab): Use quote_schema instead of quote method to format schema name (#26281) 2023-12-21 06:52:39 +13:00
Kamil Gabryjelski 3f9183a162 chore: Use WEBDRIVER_OPTION_ARGS with Playwright (#26315) 2023-12-20 12:42:12 +01:00
Michael S. Molina eb65cea971 chore: Disables minor ticks by default (#26310) 2023-12-20 08:34:27 -03:00
Daniel Vaz Gaspar 8c32c6da16 docs: update CVEs fixed on 3.0.2 and 2.1.3 (#26308) 2023-12-20 03:39:39 +00:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 90a3d685a0 build(deps-dev): bump @types/node from 20.10.4 to 20.10.5 in /superset-websocket (#26305)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-19 14:55:54 -03:00
Elizabeth Thompson 9111eb9f30 chore: update changelog for 2.1.3 (#26287) 2023-12-18 15:31:58 -08:00
Ville Brofeldt 596f5569be chore(sqlalchemy): import from correct path (#26301) 2023-12-18 13:01:50 -08:00
Gnought 04f1c356a5 fix(typings): model_id is a multiple option (#25967) 2023-12-19 07:54:55 +13:00
Evan Rusackas 84ac72f550 feat(releasing): adding SHA512 and RSA signature validation script to verify releases (#26278) 2023-12-18 11:46:56 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6a3db35bb2 build(deps-dev): bump eslint from 8.55.0 to 8.56.0 in /superset-websocket (#26294)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-19 06:50:09 +13:00
Evan Rusackas eb4b41233b chore(cleanup): removing redundant rendering logic in telemetry pixel (#26293) 2023-12-18 10:46:55 -07:00
John Bodley aafb54d042 chore: Ensure Mixins are ordered according to the MRO (#26288) 2023-12-16 14:11:58 +13:00
JUST.in DO IT 8450cca998 fix: Revert "fix(sqllab): flaky json explore modal due to over-rendering (#26156)" (#26284) 2023-12-15 15:05:00 -08:00
Sam Firke 9c96519b67 chore(docs): fix typo "loader balancer" -> "load balancer" (#26285) 2023-12-15 14:55:11 -05:00
Evan Rusackas 51172ca1aa chore(in the wild): Making it even easer to add a name (and cleanup) (#26280) 2023-12-15 11:50:38 -07:00
Sam Firke 38f5e4d490 chore(docs): add troubleshooting guide to alerts & reports (#26253) 2023-12-15 08:42:00 -05:00
Michael S. Molina aa3c3c5aaa fix: Cannot expand initially hidden SQL Lab tab (#26279) 2023-12-14 16:48:07 -03:00
Evan RusackasandMichael S. Molina 8437a235c9 feat(telemetry): Adding Scarf based telemetry to Superset (#26011)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-12-14 11:55:51 -07:00
Ville Brofeldt 67468c46c0 fix(plugin-chart-echarts): use scale for truncating x-axis (#26269) 2023-12-15 07:13:39 +13:00
Michael S. Molina 429e2a33c3 fix: Stacked charts with numerical columns (#26264) 2023-12-13 17:10:51 -03:00
Zef Lin 334e15997f chore(async queries): sending statsd event for async events API call (#26259) 2023-12-13 11:41:51 -08:00
Daniel Vaz Gaspar 578a899152 chore: improve CSP add base uri restriction (#26251) 2023-12-13 11:45:14 +00:00
Evan Rusackas 46e677823e chore: adding 'no-experimental-fetch' node option by default (#25628) 2023-12-12 14:35:22 -07:00
Vitor Avila 3a6fe9f105 chore(tests): Add tests to the column denormalization flow (#26220) 2023-12-12 14:34:50 -07:00
Ville Brofeldt 5df544b6fb fix(plugin-chart-echarts): undefined bounds for bubble chart (#26243) 2023-12-12 09:22:29 -08:00
Elizabeth Thompson 136ad0ef4f chore: add class component tasklist file (#26078) 2023-12-11 11:12:53 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 1fbc762efa build(deps): bump ws from 8.14.2 to 8.15.0 in /superset-websocket (#26234)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 06:58:43 +13:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 577565cd82 build(deps-dev): bump ts-node from 10.9.1 to 10.9.2 in /superset-websocket (#26233)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 06:56:59 +13:00
cwegener 2ac28927a3 fix: bump pyarrow constraints (CVE-2023-47248) (#26187) 2023-12-11 13:27:53 -03:00
JeremyandJohn Bodley fca5b829df chore: lock the databend-sqlalchemy version (#26082)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-12-08 10:23:03 -08:00
Michael S. Molina 005cf5947b chore: Moves xAxisLabelRotation to shared controls (#26212) 2023-12-08 13:37:06 -03:00
Kamil Gabryjelski dbed64a2c6 fix: Use page.locator in Playwright reports (#26224) 2023-12-08 17:16:13 +01:00
Ville BrofeldtandMichael S. Molina 07e5fe8a66 fix(plugin-chart-echarts): support truncated numeric x-axis (#26215)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2023-12-08 10:40:09 -03:00
Vitor Avila 05d7060d83 fix(chart-filter): Avoid column denormalization if not enabled (#26199) 2023-12-07 17:24:47 -08:00
Ville Brofeldt d2adc858cb fix: support custom links in markdown (#26211) 2023-12-07 13:51:15 -08:00
ʈᵃᵢ 88fb342887 fix(dashboard): use textContent to render hidden title (#26189) 2023-12-07 13:33:49 -08:00
Michael S. MolinaandJohn Bodley b4a35e624b chore: Adds note about numerical x-axis (#26208)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-12-07 09:53:33 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3a04ac7720 build(deps-dev): bump @types/node from 20.10.3 to 20.10.4 in /superset-websocket (#26204)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 09:49:41 -08:00
JUST.in DO IT f30f685eb5 fix(sqllab): flaky json explore modal due to over-rendering (#26156) 2023-12-07 09:28:59 -08:00
Michael S. Molina 39c6488463 fix: Includes 90° x-axis label rotation (#26207) 2023-12-07 13:08:54 -03:00
Aleksey Karpov f68dd8293f fix(docker): Remove race condition when building image (#26205) 2023-12-07 09:54:59 -03:00
Jack Fragassi bf5b18ccb1 chore: Lower giveup log level for retried functions to warning (#26188) 2023-12-06 16:33:19 -08:00
Aleksey Karpov c8e69e2f9d feat(docker): Add ARM builds (#26196) 2023-12-06 13:13:47 -08:00
Suma Goud B 4d4b19e8ba fix(init-job): Fix envFrom for init job in helm chart (#26157) 2023-12-06 07:40:43 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d2cce51ddf build(deps-dev): bump eslint from 8.54.0 to 8.55.0 in /superset-websocket (#26174)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-05 15:00:45 -03:00
Daniel Vaz Gaspar 56fa2b29d3 docs: update CHANGELOG for 2.1.2 (#26150) 2023-12-05 12:40:39 +00:00
Jack Fragassi 386d4e0541 fix(embedded): Hide sensitive payload data from guest users (#25878) 2023-12-04 14:52:59 -08:00
Tim Eckley b287ca7f5b feat: Create db_engine_spec ibmi.py (#26161) 2023-12-04 13:49:38 -08:00
JUST.in DO IT 86304ab171 fix(menu): Styling active menu in SPA navigation (#25533) 2023-12-04 13:03:29 -08:00
Ville Brofeldt 0b477e3f7c chore: harmonize and clean up list views (#25961) 2023-12-04 11:51:18 -08:00
Michael S. Molina 3ab27c6ec9 chore: Clean up the examples dashboards (#26158) 2023-12-04 16:05:08 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 248586de6e build(deps-dev): bump eslint-config-prettier from 9.0.0 to 9.1.0 in /superset-websocket (#26166)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 09:49:07 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fccde379b8 build(deps-dev): bump @types/node from 20.10.1 to 20.10.3 in /superset-websocket (#26167)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 09:48:52 -08:00
John Bodley 8644b1a319 fix: Migration order due to cherry which went astray (#26160) 2023-12-01 18:29:21 -08:00
Ross MabbettandJohn Bodley b7a9c220e1 fix(Alerts/Reports): allow use of ";" separator in slack recipient entry (#25894)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-12-01 16:32:08 -08:00
JUST.in DO IT cdbbd83705 fix(sqllab): table preview has gone (#25977) 2023-12-01 13:41:31 -08:00
Vitor Avila c033ca959d fix(database-import): Support importing a DB connection with a version set (#26116) 2023-12-01 16:20:27 -05:00
Braum 1b9e4ff9ab docs: add quickstart (#26129) 2023-12-01 13:09:38 -03:00
Beto Dealmeida b2ea97a984 fix: set label on adhoc column should persist (#26154) 2023-12-01 08:40:52 -05:00
Michael S. Molina f405ba033e feat: Adds legacy time support for Waterfall chart (#26136) 2023-12-01 10:04:53 -03:00
Tom Murphy 4f00404805 feat(helm): Add option to deploy extra containers to remaining deployments (#26123) 2023-11-30 14:39:15 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> df0f663382 build(deps-dev): bump @types/node from 20.10.0 to 20.10.1 in /superset-websocket (#26143)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-30 09:50:49 -08:00
Beto Dealmeida cff473f825 fix(annotations): time grain column (#26140) 2023-11-30 11:13:12 -05:00
Daniel Vaz Gaspar 79be126189 docs: update CVEs fixed on 3.0.0 (#26149) 2023-11-30 14:43:12 +00:00
Kamil Gabryjelski d00c17dde2 chore: Rename SET_ACTIVE_TABS action, add a new action (#26147) 2023-11-30 12:27:40 +01:00
Sam Firke f1a6b2f852 docs(drivers): refresh guide on adding a db driver in docker (#26038) 2023-11-29 13:05:03 -07:00
Hugh A. Miles II ee308fbc64 chore(tags): Allow for lookup via ids vs. name in the API (#25996) 2023-11-29 10:59:59 -08:00
Daniel Vaz Gaspar 6a5a765689 fix: remove default secret key from helm (#23916) 2023-11-29 07:48:39 -08:00
Ishan Singhania ea1a96e8e1 docs: add Increff to users list (#26124) 2023-11-29 09:00:15 -05:00
Gnought a27a0df1a4 chore(deps): bump pillow deps (#25931) 2023-11-29 08:59:27 -05:00
Guy Attia b9aaf0fc05 docs: add Onebeat to users list (#26112) 2023-11-28 20:50:50 -08:00
François Travais af58784040 feat(deckgl-map): use an arbitraty Mabpox style URL (#26027) (#26031)
Signed-off-by: François Travais <francois.travais@solinum.org>
2023-11-28 15:32:19 -07:00
Beto Dealmeida 7223633da6 fix: alias column when fetching values (#26120) 2023-11-28 15:11:20 -05:00
John Bodley 0d2e85517c docs: Update Trino Kerberos configuration (#26119) 2023-11-28 15:10:55 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 9a13ec6d5f build(deps-dev): bump @types/node from 20.9.4 to 20.10.0 in /superset-websocket (#26100)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 09:58:56 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f3b0706507 build(deps-dev): bump @types/cookie from 0.5.4 to 0.6.0 in /superset-websocket (#26099)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 09:58:34 -08:00
Daniel Vaz Gaspar 6447529ee4 docs: update CVEs fixed on 2.1.2 (#26104) 2023-11-28 16:09:49 +00:00
Michael S. Molina 849ca64ba8 chore: Adds the 3.1.0 Release Notes (#26058) 2023-11-28 11:31:48 -03:00
Ville Brofeldt 91a8b69d36 fix: flaky test_explore_json_async test v2 (#26106) 2023-11-28 10:21:13 -03:00
Amrit Raj d20f96f8d0 docs(databases): Update pinot.mdx to incorporate username and password based connection. (#26000) 2023-11-27 15:28:49 -05:00
Daniel Vaz Gaspar 4fc2758e6a fix: bump node-fetch to 2.6.7 (#26091) 2023-11-27 09:23:52 +00:00
Ville Brofeldt aad67e43db fix(plugin-chart-echarts): support numerical x-axis (#26087) 2023-11-24 07:36:32 -08:00
Michael S. Molina 57d61df44d chore: Adds 3.0.2 data to CHANGELOG.md (#26075) 2023-11-22 17:25:14 -03:00
John Bodley 07bcfa9b5f chore(command): Organize Commands according to SIP-92 (#25850) 2023-11-22 16:55:54 -03:00
Michael S. Molina 984c278c4c chore: Updates Announce template to include CHANGELOG.md and UPDATING.md files (#26073) 2023-11-22 09:52:36 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b1f521263d build(deps-dev): bump @types/node from 20.9.3 to 20.9.4 in /superset-websocket (#26064)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-22 09:48:25 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fef82789b1 build(deps): bump @types/lodash from 4.14.201 to 4.14.202 in /superset-websocket (#26063)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-22 09:48:01 -08:00
Rob Moore 6359086779 fix: move driver import to method (#26066) 2023-11-22 10:49:01 -05:00
Michael S. MolinaandJohn Bodley 2b88225ee1 fix: Flaky test_explore_json_async test (#26059)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-22 09:11:09 -03:00
John Bodley 843c7ab58a chore: Allow only iterables for BaseDAO.delete() (#25844) 2023-11-22 08:52:30 -03:00
Daniel Vaz GasparandSam Firke 260d561b9a docs: update security policy and contributing (#25917)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-11-22 10:31:32 +00:00
Jack Fragassi 630734b908 fix: Prevent cached bootstrap data from leaking between users w/ same first/last name (#26023) 2023-11-21 15:39:42 -08:00
John Bodley bd8951e958 fix: Optimize fetching samples logic (#26060) 2023-11-21 13:26:02 -08:00
Jiwen liuandEvan Rusackas 97121465dd feat: Add Apache Doris support (#24714)
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-11-21 12:42:10 -07:00
John Bodley 07551dc3d4 chore(connector): Cleanup base models and views according to SIP-92 (#24773) 2023-11-21 10:11:50 -08:00
Michael S. MolinaandJohn Bodley 68e5e1afea feat: Add Bubble chart migration logic (#26033)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-21 15:05:41 -03:00
Sam Firke f934278fef docs(intro): fix a single broken link (BugHerd #97) (#26039) 2023-11-21 09:54:16 -07:00
aehanno 25a737e83c fix: Remove annotation Fuzzy to get french translation (#26010) 2023-11-21 09:53:26 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 9452664079 build(deps-dev): bump @types/node from 20.9.1 to 20.9.3 in /superset-websocket (#26049)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 09:52:00 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> adb86d35ec build(deps-dev): bump @types/ws from 8.5.9 to 8.5.10 in /superset-websocket (#26048)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 09:51:42 -07:00
Beto Dealmeida f99c874962 feat(metadb): handle decimals (#25921) 2023-11-21 11:36:31 -05:00
Beto Dealmeida fbc66a8177 chore: bump shillelagh (#26043) 2023-11-21 09:48:39 -05:00
Kamil Gabryjelski b5e7e707b3 chore: Allow external extensions to include their own package.json files (#26004) 2023-11-21 15:43:50 +01:00
Evan Rusackas 1af5fbbd6a docs(BH#109): Athena URI spec fix (#26044) 2023-11-21 09:12:50 -05:00
Sam Firke bba7763825 fix(security): restore default value of SESSION_COOKIE_SECURE to False (#26005) 2023-11-21 09:10:56 -05:00
John Bodley dd58b31cc4 chore(sqlalchemy): Remove erroneous SQLAlchemy ORM session.merge operations (#24776) 2023-11-20 17:25:41 -08:00
Ross MabbettandElizabeth Thompson e7797b65d1 fix(horizontal filter bar filter labels): Increase max-width to 96px (#25883)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-11-20 11:24:02 -08:00
JUST.in DO ITandJustin Park e2bfb1216b feat(sqllab): non-blocking persistence mode (#24539)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-11-20 11:13:54 -08:00
Daniel Vaz Gaspar 628cd345f2 fix: update FAB to 4.3.10, Azure user info fix (#26037) 2023-11-20 16:02:30 -03:00
JUST.in DO IT e1d73d5420 fix(native filters): rendering performance improvement by reduce overrendering (#25901) 2023-11-20 10:01:56 -08:00
Sebastian Liebscher 92ac6b2c15 feat(sqllab): Show duration as separate column in Query History view (#25861) 2023-11-20 10:59:43 -07:00
Rob Moore 8d73ab9955 feat(sqllab): TRINO_EXPAND_ROWS: expand columns from ROWs (#25809) 2023-11-20 10:59:10 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 411dba240b build(deps-dev): bump eslint from 8.53.0 to 8.54.0 in /superset-websocket (#26025)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-20 09:51:11 -08:00
Gnought 2499a1cf5a chore: cleanup unused code in pandas 2.0+ (#26013) 2023-11-18 19:17:15 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 5942d8bf68 build(deps-dev): bump @types/node from 20.9.0 to 20.9.1 in /superset-websocket (#26012)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-17 09:51:09 -08:00
John Bodley bece2ea3e4 chore: Remove unnecessary autoflush from tagging and key/value workflows (#26009) 2023-11-16 19:04:04 -08:00
John Bodley 326ac4a6c4 chore: Optimize fetching samples logic (#25995) 2023-11-16 15:42:39 -08:00
JUST.in DO IT e7a1876807 fix(explore): redandant force param (#25985) 2023-11-16 12:58:06 -08:00
Jack Fragassi 5fccf67cdc fix: Make Select component fire onChange listener when a selection is pasted in (#25993) 2023-11-16 21:06:05 +01:00
yousoph 210f1f8f95 fix(rls): Update text from tables to datasets in RLS modal (#25997) 2023-11-16 09:48:54 -08:00
Michael S. Molina 97d89d7340 feat: Adds Area chart migration logic (#25952) 2023-11-16 14:28:09 -03:00
nitish-samsung-jhaandSam Firke 7f0c3b20ad docs: handling "System limit for number of file watchers reached" error (#25551)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-11-16 11:00:42 -05:00
Sebastian Liebscher d20b60edd4 chore: Remove more redundant code in utils/core (#25986) 2023-11-15 15:42:48 -08:00
Hugh A. Miles II aee94b39ba fix(tag): update state to clear form on success (#25934) 2023-11-15 18:05:18 -05:00
Priyanshu Bartwal 63b8172321 style: Transition of Navbar from dark to light and vice-versa is now smooth (#24485) 2023-11-15 12:41:12 -07:00
jdclarke5 f22ae2dc51 docs: add Tentacle to users list (#25059) 2023-11-15 12:39:17 -07:00
josedev-union 5e1c4057a0 fix(helm): Restart all related deployments when bootstrap script changed (#25703) 2023-11-15 12:38:54 -07:00
JUST.in DO IT f18fb24b3d fix(sqllab): Allow router navigation to explore (#25941) 2023-11-14 10:27:44 -08:00
Rob Moore f6ba75a185 feat(explore): dataset macro: dttm filter context (#25950) 2023-11-14 09:16:42 -08:00
Kamil Gabryjelski 6b7761ecf2 chore: Add entry point for SliceHeader frontend extension (#25968) 2023-11-14 16:29:16 +01:00
Daniel Vaz Gaspar 007d22199d chore: support different JWT CSRF cookie names (#25891) 2023-11-14 14:01:08 +00:00
Hugh A. Miles II 5def416f63 fix: naming denomalized to denormalized in helpers.py (#25973) 2023-11-13 18:46:09 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 99d4f8931a build(deps-dev): bump axios from 0.25.0 to 1.6.0 in /superset-embedded-sdk (#25953)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 12:39:52 -07:00
John Bodley 6d8424c104 chore(colors): Updating Airbnb brand colors (#23619) 2023-11-13 11:25:14 -08:00
Hugh A. Miles II 8d8e1bb637 fix: always denorm column value before querying values (#25919) 2023-11-13 13:18:28 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 943696a87f build(deps-dev): bump @types/jsonwebtoken from 9.0.4 to 9.0.5 in /superset-websocket (#25927)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 10:42:46 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3bff1a00b6 build(deps-dev): bump @types/uuid from 9.0.6 to 9.0.7 in /superset-websocket (#25929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 10:42:32 -07:00
Sebastian Liebscher c3249dd97d test: Reduce flaky integration tests triggered by test_get_tag (#25958) 2023-11-13 08:40:52 -08:00
Sebastian Liebscher b430b5a172 chore: Simplify views/base (#25948) 2023-11-12 12:11:19 -08:00
Giacomo BaroneandVille Brofeldt d95c200e69 fix: update flask-caching to avoid breaking redis cache, solves #25339 (#25947)
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2023-11-10 20:13:50 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 478ca904ae build(deps): bump axios from 1.4.0 to 1.6.1 in /superset-frontend (#25951)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-10 09:59:09 -08:00
Evan RusackasandSam Firke 84a894c2c7 chore(issue template): attempting to fix two entries/links (#25881)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-11-09 16:49:23 -07:00
Evan Rusackas b6fb36f22b chore: removing unused chartMetadata field (#25926) 2023-11-09 15:57:46 -07:00
Michael S. Molina 83b7fa92af feat: Adds Line chart migration logic (#23973) 2023-11-09 15:16:07 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 33d8078a83 build(deps-dev): bump @types/node from 20.8.10 to 20.9.0 in /superset-websocket (#25928)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-09 09:57:37 -08:00
JUST.in DO IT 581d3c7108 fix(sqllab): invalid sanitization on comparison symbol (#25903) 2023-11-09 09:26:21 -08:00
John Bodley 10205d0b50 chore: Singularize tag models (#25819) 2023-11-09 08:22:08 -08:00
koushik-rout-samsung a698587e8c docs: Remove Python 3.8 from CONTRIBUTING.md (#25885) 2023-11-09 00:12:49 -07:00
Beto Dealmeida 2bd611916d feat: safer insert RLS (#20323) 2023-11-08 22:52:25 -05:00
Sebastian Liebscher 90e210892b chore: Simplify utils/cache by using default argument values (#25900) 2023-11-08 12:57:40 -08:00
Sebastian Liebscher e03691917b chore: remove unused functions in utils/core (#25912) 2023-11-08 12:53:20 -08:00
John Bodley 784a478268 fix(table): Double percenting ad-hoc percentage metrics (#25857) 2023-11-08 12:22:00 -08:00
FGrobelnyandJohn Bodley 458be8c848 fix(trino): allow impersonate_user flag to be imported (#25872)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-08 12:00:18 -08:00
Gnought b0da5cef70 chore: remove deprecated functions in SQLAlchemy (#25911) 2023-11-08 11:56:38 -08:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6f92007a85 build(deps): bump @types/lodash from 4.14.200 to 4.14.201 in /superset-websocket (#25907)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 11:24:51 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 4402f5c5cd build(deps-dev): bump @types/ws from 8.5.7 to 8.5.9 in /superset-websocket (#25906)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 11:24:23 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> a97bf6494e build(deps-dev): bump @types/cookie from 0.5.3 to 0.5.4 in /superset-websocket (#25905)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 11:24:03 -07:00
Beto Dealmeida cdb18e04ff fix: trino cursor (#25897) 2023-11-08 07:38:38 -05:00
Beto Dealmeida 06ffcd29e2 fix: database version field (#25898) 2023-11-07 20:55:03 -05:00
Elizabeth Thompson 1d0b86ae94 chore: add more migration tests (#25262) 2023-11-07 17:06:23 -08:00
Beto Dealmeida 80caba3fd1 feat: method for dynamic allows_alias_in_select (#25882) 2023-11-07 14:28:28 -05:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3ee22667a7 build(deps): bump cookie from 0.5.0 to 0.6.0 in /superset-websocket (#25886)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-07 09:58:38 -08:00
Dan Keeley d6fde3cdd5 chore: Update INTHEWILD.md (#25714) 2023-11-06 13:04:44 -07:00
nero5700 5e5a9c601f fix(typo): replace 'datasouce_id' with 'datasource_id' in openapi.json (#25875) 2023-11-06 13:02:27 -07:00
Kamil Gabryjelski 268c1dcdad fix: Saving Mixed Chart with dashboard filter applied breaks adhoc_filter_b (#25877) 2023-11-06 19:52:27 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 887be5dd32 build(deps-dev): bump eslint from 8.52.0 to 8.53.0 in /superset-websocket (#25867)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 09:53:08 -08:00
Antonio Rivero 7536dd12cd fix(charts): Time grain is None when dataset uses Jinja (#25842) 2023-11-06 09:51:28 -08:00
Lily Kuang 30cd422331 fix(tagging): change key from name to id for tagToSelectOption (#25856) 2023-11-06 09:44:05 -08:00
Rob Moore fb35bac070 feat(sqllab): Dynamic query limit dropdown (#25855) 2023-11-06 08:34:17 -08:00
Arko 916f7bcbba fix(table chart): Show Cell Bars correctly #25625 (#25707) 2023-11-06 08:36:21 -03:00
Hugh A. Miles IIandElizabeth Thompson 80cf710dbe fix: add validation on tag name to have name + onDelete refresh list view (#25831)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-11-04 10:09:54 -04:00
Beto Dealmeida 60e1526f6a fix: remove update_charts_owners (#25843) 2023-11-03 13:06:31 -04:00
mapledanandElizabeth Thompson ae619b169c fix: the temporal x-axis results in a none time_range. (#25429)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-11-03 09:57:47 -07:00
JUST.in DO IT 24a2213445 feat(sqllab): Format sql (#25344) 2023-11-03 09:38:11 -07:00
Michael S. Molina d619078d25 feat: Improves the Waterfall chart (#25557) 2023-11-03 13:24:15 -03:00
Michael S. Molina 8061d5cce9 fix: Fires onChange when clearing all values of single select (#25853) 2023-11-03 10:35:43 -03:00
Michael S. Molina ff8bc3c426 chore: Updates Databend image extension reference in README.md (#25852) 2023-11-03 09:47:18 -03:00
Jeremy c3f3ec56d6 fix: databend png pic (#25851) 2023-11-03 08:49:33 -03:00
Emmanuel FerdmanandJohn Bodley 508721bd97 docs: Update location of async_query_manager.py (#25531)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-02 15:22:44 -04:00
Jeremy 5690946b1a feat: support databend for superset (#23308) 2023-11-02 12:00:11 -07:00
Rob Moore b58cc24bd4 chore(docker-compose): more host network specifiers (#25817) 2023-11-02 10:39:45 -07:00
Michael S. Molina aaf7d6b7e4 chore: Removes border of the color picker control (#25812) 2023-11-02 11:02:47 -03:00
Craig Rueda 6ace22da87 chore(websocket): Adding support for redis username in websocket server (#25826) 2023-11-01 16:52:14 -07:00
Evan Rusackas a3686459a9 chore: Update sip.md to have a better call to action (#25822) 2023-11-01 12:37:21 -06:00
Evan RusackasandJohn Bodley a249e418b3 chore(issues): config.yaml added with feature request link to open a discussion (#25823)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-01 12:37:10 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f265b2c1ae build(deps-dev): bump @types/node from 20.8.7 to 20.8.10 in /superset-websocket (#25816)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 11:35:48 -07:00
toliver-ch e1eb985aa8 docs: Add Cyberhaven to Users list (#25530) 2023-11-01 08:25:40 -07:00
JUST.in DO IT 3f28eebb20 fix(sqllab): infinite fetching status after results are landed (#25814) 2023-11-01 09:03:03 -03:00
John Bodley 1e37f0b417 chore(celery): Cleanup config and async query specifications (#25314) 2023-10-31 10:17:51 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2177a50c7a build(deps): bump browserify-sign from 4.2.1 to 4.2.2 in /superset-frontend (#25778)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 10:23:58 -06:00
Ross Mabbett 1eba7121aa fix(SQL field in edit dataset modal): display full sql query (#25768) 2023-10-31 10:23:44 -06:00
Daniel Vaz Gaspar d2f511abba feat: support server-side sessions (#25795) 2023-10-31 16:05:18 +00:00
John Bodley 8737a8a546 fix: Resolve issue #24195 (#25804) 2023-10-31 08:24:41 -07:00
John Bodley 7804d1451e chore(security): Make get_database_perm/get_dataset_perm return optional (#24046) 2023-10-31 08:23:42 -07:00
John Bodley ae703b48fc fix: Revert "fix: Apply normalization to all dttm columns (#25147)" (#25801) 2023-10-31 10:21:47 -03:00
Tom Murphy 5e6d05b3fd fix(helm): Fix init extra containers (#25803) 2023-10-31 12:12:31 +00:00
Tom Murphy 0f01d9b08f feat(helm): Add option to deploy extra containers to init job (#25783) 2023-10-30 19:19:55 -07:00
Jack 74dbada473 feat(Export as PDF - rasterized): Adding rasterized pdf functionality to dashboard (#25696) 2023-10-30 21:54:33 -04:00
Beto Dealmeida 5659c87ed2 fix: DB-specific quoting in Jinja macro (#25779) 2023-10-30 09:50:44 -04:00
Elizabeth Thompson ed14f36c55 fix: allow for backward compatible errors (#25640) 2023-10-27 11:04:33 -07:00
Kamil Gabryjelski bda43ac0f6 chore: Add config options for Playwright wait_until and default timeout (#25765) 2023-10-27 10:37:32 +02:00
JUST.in DO IT 2a2bc82a8b fix(sqllab): slow pop datasource query (#25741) 2023-10-26 12:44:41 -07:00
Beto Dealmeida c7f8d11a7e fix: dataset update uniqueness (#25756) 2023-10-25 16:49:32 -04:00
Andy cee8532733 fix(README): mismatched picture tags (#25739) 2023-10-25 12:44:44 -06:00
Geido e2fe967788 fix: Revert "fix(Charts): Set max row limit + removed the option to use an empty row limit value" (#25753) 2023-10-25 15:39:49 +03:00
Bipin Chandra Tripathi 27a06f57e1 style(readme): reformatted (#25721) 2023-10-24 09:32:24 -06:00
Gnought 419d122816 chore: bump pymssql version (#25737) 2023-10-23 21:53:00 -07:00
Craig Rueda 861ee8b3c6 chore(websocket): [WIP] Making JWT algos configurable (#25521) 2023-10-23 11:28:41 -07:00
Ross Mabbett e4173d90c8 fix(horizontal filter label): show full tooltip with ellipsis (#25732) 2023-10-23 09:51:48 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> cbbf2bed6e build(deps-dev): bump eslint from 8.51.0 to 8.52.0 in /superset-websocket (#25735)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 09:50:02 -07:00
Zef Lin 4aef771072 chore: updated base DAO find_by_id to return generic type (#25726) 2023-10-23 07:46:01 -07:00
Beto Dealmeida ed87470bcc fix(metadb): handle durations (#25727) 2023-10-20 17:46:57 -04:00
Evan Rusackas 4ac8f826f2 fix(driver): bumping DuckDB to 0.9.2 (#25718) 2023-10-20 12:07:03 -06:00
Mikel VukaandMikel Vuka 9972ac6908 refactor: use DATE_TRUNC for Elasticsearch time grain (#25717)
Co-authored-by: Mikel Vuka <mikel.vuka@zalando.de>
2023-10-20 10:05:05 -07:00
Daniel Vaz Gaspar 8fb0c8da56 fix: bump to FAB 4.3.9 remove CSP exception (#25712) 2023-10-20 11:33:40 +01:00
Stepan 75a7431379 fix(chore): dashboard requests to database equal the number of slices it has (#24709) 2023-10-20 08:32:14 +01:00
David Meaux ee23690196 feat: add France's regions to country map visualization (#25676) 2023-10-19 17:30:34 -06:00
Marius Davidsen def7cd1b89 chore: helm chart: bump appVersion to 3.0.1 (#25709) 2023-10-19 14:16:02 -07:00
Sebastian Liebscher 505678b37b chore: Change the format for sha512 sum for releases (#25577) 2023-10-19 16:26:20 -03:00
Sonia GautamandSonia 39ad3226c7 feat: add database and schema names to dataset option (#25569)
Co-authored-by: Sonia <sonia.gautam@agoda.com>
2023-10-19 12:05:58 -06:00
Corbin Bullard dfff3c1cba feat: Funnel/tooltip-customization (#25666) 2023-10-19 12:04:29 -06:00
Igor Khrol da42bf2dbb fix: remove unnecessary redirect (#25679) 2023-10-19 12:03:44 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 07796b7528 build(deps-dev): bump @types/cookie from 0.5.1 to 0.5.3 in /superset-websocket (#25689)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 12:03:16 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> e29e2684d0 build(deps-dev): bump @types/uuid from 9.0.4 to 9.0.6 in /superset-websocket (#25701)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 12:02:50 -06:00
Rahul bac5a85541 docs(README): remove typo (#25710) 2023-10-19 12:02:07 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 1d37f3a15b build(deps-dev): bump @types/node from 20.8.6 to 20.8.7 in /superset-websocket (#25700)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 09:50:30 -07:00
Rob Moore 4e94fc4cff fix(sqllab): reinstate "Force trino client async execution" (#25680) 2023-10-19 16:38:13 +03:00
Mikel VukaandMikel Vuka e7cdfeeb2c feat: Add week time grain for Elasticsearch datasets (#25683)
Co-authored-by: Mikel Vuka <mikel.vuka@zalando.de>
2023-10-18 19:39:16 -07:00
Elizabeth Thompson 26498fc099 chore: add latest-official docker tag (#25322) 2023-10-18 16:59:30 -07:00
OskarNS be82657940 fix(dremio): Fixes issue with Dremio SQL generation for Charts with Series Limit (#25657) 2023-10-18 15:54:27 -04:00
Michael S. Molina dc06fb8b11 chore: Adds 3.0.1 data to CHANGELOG.md (#25691) 2023-10-18 15:48:18 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8b32b2abd3 build(deps-dev): bump @types/jsonwebtoken from 9.0.3 to 9.0.4 in /superset-websocket (#25688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 10:22:31 -07:00
Hugh A. Miles II a27a809f07 fix(tags): +n tags for listview (#25603) 2023-10-17 23:39:15 -04:00
John Bodley 32e37d8cda chore: Cleanup hostNamesConfig.js (#25543) 2023-10-17 15:58:43 -07:00
JUST.in DO IT 16cc089b19 fix: warning of nth-child (#23638) 2023-10-17 15:33:07 -04:00
JUST.in DO IT deef3b04eb feat(sqllab): ResultTable extension (#25423) 2023-10-17 14:03:35 -04:00
Arnout Engelen 150e5c90f7 docs: make project-specific security page more prominent (#25654) 2023-10-17 13:43:38 -04:00
Daniel Vaz Gaspar f473d13d0d fix: improve upload ZIP file validation (#25658) 2023-10-17 18:28:09 +01:00
Ville Brofeldt cb963585ad chore: sync lock files (#25667) 2023-10-17 09:51:35 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 1991d240bf build(deps-dev): bump @babel/traverse from 7.16.0 to 7.23.2 in /superset-websocket (#25661)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:50:33 -07:00
Jack 51c56dd2a0 fix(header navlinks): link navlinks to path prefix (#25495) 2023-10-17 09:45:25 -07:00
Hugh A. Miles IIandElizabeth Thompson e58a3aba54 fix: permalink save/overwrites in explore (#25112)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-10-16 14:00:09 -04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 18a1c8d7d8 build(deps-dev): bump @types/node from 20.8.5 to 20.8.6 in /superset-websocket (#25653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 09:57:32 -07:00
Jack Fragassi a0a0d8043f fix(import): Make sure query context is overwritten for overwriting imports (#25493) 2023-10-16 09:49:55 -07:00
Ville Brofeldt 8c6bd4ef04 chore: bump pip-tools (#25645) 2023-10-15 07:40:10 -07:00
Igor Khrol 99f79f5143 fix: avoid 500 errors with SQLLAB_BACKEND_PERSISTENCE (#25553) 2023-10-13 13:30:19 -06:00
Sean 56f74e5215 docs: invert logo color for dark theme in README (#25537) 2023-10-13 13:29:34 -06:00
Evan RusackasandSam Firke e8783033f8 chore: adding resource links to readme (#25629)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-13 13:28:24 -06:00
Josh Soref 5054b9fade build(ci): Provide diff for pre-commit failures (#25638)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-10-13 11:00:09 -07:00
Hugh A. Miles II 9074f72959 fix(tags): Polish + Better messaging for skipped tags with bad permissions (#25578) 2023-10-13 13:13:59 -04:00
JUST.in DO IT b370c66308 fix(sqllab): template validation error within comments (#25626) 2023-10-13 11:07:54 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 4a01b6006c build(deps-dev): bump @types/node from 20.8.4 to 20.8.5 in /superset-websocket (#25632)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 10:54:50 -06:00
Josh Soref bfcca8cbab chore(helm): spelling: initialize (#25455)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-10-13 09:37:51 -07:00
Multazim DeshmukhandSam Firke 59fc5a6184 docs: BugHerd Tasks 88, 89, 90, 91 (#25567)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-13 11:18:08 -04:00
JUST.in DO IT a520124a78 fix(sqllab): Mistitled for new tab after rename (#25523) 2023-10-13 11:17:45 -04:00
JUST.in DO IT 003001f19f fix(sqllab): Allow opening of SQL Lab in new browser tab (#25582) 2023-10-13 11:16:50 -04:00
Ville Brofeldt e56e0de458 fix: revert fix(sqllab): Force trino client async execution (#24859) (#25541) 2023-10-13 11:58:20 +00:00
Evan Rusackas ef1807cd7e chore(feature?): Bump scarf-js to 1.3.0 to get more telemetry data (#25602) 2023-10-12 09:43:30 -06:00
JUST.in DO IT 2dc5c5f53f feat(sqllab): Add keyboard shortcut helper (#25542) 2023-10-12 11:13:37 -04:00
Beto Dealmeida 62bffaf935 fix: finestTemporalGrainFormatter (#25618) 2023-10-11 15:57:23 -06:00
Beto Dealmeida 63964bb520 fix(test-db): engine params (#25615) 2023-10-11 12:45:33 -06:00
Fabien b97f8f03ac fix(window): unavailable localStorage and sessionStorage (#25599) 2023-10-11 11:31:30 -06:00
Corbin Bullard f556ef53f3 fix(Charts): Set max row limit + removed the option to use an empty row limit value (#25579) 2023-10-11 11:31:21 -06:00
Rui ZhaoandRui Zhao be3714e131 fix(Presto): catch DatabaseError when testing Presto views (#25559)
Co-authored-by: Rui Zhao <zhaorui@dropbox.com>
2023-10-11 11:31:07 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d0f2c5581d build(deps): bump postcss from 8.3.11 to 8.4.31 in /docs (#25502)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 11:30:35 -06:00
John BodleyandEvan Rusackas 1f20214244 docs: Add timezone information (#19056)
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-10-11 11:30:23 -06:00
Igor Khrol 52f631a038 fix: thubmnails loading - Talisman default config (#25486) 2023-10-11 11:30:09 -06:00
Sandeep Patel eb9cd2a2a5 refactor: Issue #25040; Refactored sync_role_definition function in order to reduce number of query. (#25340) 2023-10-11 11:29:52 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3f85239053 build(deps-dev): bump @types/ws from 8.5.6 to 8.5.7 in /superset-websocket (#25606)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 10:22:29 -07:00
Kamil Gabryjelski cef68f8a9a fix: Breaking change in MachineAuthProvider constructor (#25532) 2023-10-11 15:38:31 +02:00
Multazim Deshmukh 050543ae1b feat: migrate to docker compose v2 (#25565) 2023-10-10 14:38:40 -07:00
Corbin Bullard a6d0e6f37a fix(RLS): Fix Info Tooltip + Button Alignment on RLS Modal (#25400) 2023-10-10 20:52:37 +03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> d1ba4dc284 build(deps): bump winston from 3.10.0 to 3.11.0 in /superset-websocket (#25585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 09:54:41 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 593daac614 build(deps-dev): bump @types/node from 20.8.2 to 20.8.4 in /superset-websocket (#25584)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 09:53:31 -07:00
Daniel Vaz Gaspar 549abb542b fix: REST API CSRF exempt list (#25590) 2023-10-10 12:53:37 +01:00
Matthew Chiang 512fb9a0bd feat: Add Deck.gl Contour Layer (#24154) 2023-10-10 11:20:37 +02:00
EugeneTorap 42d0474cc2 chore: Update pylint to 2.17.7 (#25566) 2023-10-09 11:51:41 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> e0a7488005 build(deps-dev): bump eslint from 8.49.0 to 8.51.0 in /superset-websocket (#25574)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 09:58:47 -07:00
Sebastian Liebscher 178607093f fix: Make host.docker.internal available on linux (#25547) 2023-10-06 10:38:31 -07:00
Kamil Gabryjelski 58fcd292a9 fix: Apply normalization to all dttm columns (#25147) 2023-10-06 09:47:00 -07:00
Stephen LiuandMichael S. Molina 17792a507c feat(plugin-chart-echarts): Echarts Waterfall (#17906)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2023-10-06 10:08:16 -03:00
Hugh A. Miles II 0c40bea064 fix: Tags Page ListView size to 10 (#25536) 2023-10-05 15:03:19 -04:00
Beto Dealmeida 89b05993a3 fix(test-db): removed attribute (#25525) 2023-10-05 10:47:30 -07:00
Hugh A. Miles II 4532079c71 fix(tags): Update loading + pagination for Tags Page (#25473) 2023-10-05 13:46:10 -04:00
Hugh A. Miles IIandBeto Dealmeida dcfebfce9d fix(tags): fix clears delete on Tags Modal (#25470)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2023-10-05 13:37:53 -04:00
JUST.in DO IT 34f99708d4 chore(sqllab): Typescript for SqlEditor component (#25228) 2023-10-05 12:33:01 -04:00
MayurandMichael S. Molina c81c60c91f feat: Adds the ECharts Bubble chart (#22107)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2023-10-05 07:58:46 -03:00
Igor Khrol 50b0816e37 fix: tags permissions error message (#25516) 2023-10-04 16:30:56 -04:00
Hugh A. Miles II 1fb2c62c02 chore(tags): don't allow users to create new tags from property dropdowns (#25507) 2023-10-04 15:51:55 -04:00
JUST.in DO IT 5ab1e7eae4 feat(sqllab): SPA migration (#25151) 2023-10-04 15:21:41 -04:00
Lily Kuang af661ceee2 chore(tags): move tags column in dashboard and chart list (#25504) 2023-10-04 12:07:27 -07:00
87c8e872ee docs: fix for domain sharding results in failed requests with "Missing Authorization Header" (#24481)
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-10-04 11:37:52 -07:00
JUST.in DO IT ba541e8022 chore: Expand error detail on screencapture (#25519) 2023-10-04 14:06:22 -04:00
JUST.in DO IT b92957e510 fix(sqllab): Broken query containing 'children' (#25490) 2023-10-04 14:06:01 -04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> dab18250d7 build(deps): bump ws and @types/ws in /superset-websocket (#25508)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 10:27:28 -07:00
Kamil Gabryjelski ff95d0face feat: Implement using Playwright for taking screenshots in reports (#25247) 2023-10-04 06:51:58 +02:00
Hugh A. Miles II 53013395d7 fix: Tags Polish II (#25496) 2023-10-03 20:41:01 -04:00
Beto Dealmeida 3e63c82ecc feat: generic marshmallow error component (#25303) 2023-10-03 11:35:28 -07:00
mapledan dbe0838f8f fix: Unable to sync columns when database or dataset name contains + (#25390) 2023-10-03 11:15:01 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> e3244e9056 build(deps-dev): bump @types/node from 20.6.0 to 20.8.2 in /superset-websocket (#25498)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 09:53:11 -07:00
Multazim DeshmukhandSam Firke 7a88ad3c02 docs: define localhost for docker (#25480)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:37:26 -04:00
Multazim DeshmukhandSam Firke 23996b59a1 docs: update docker compose instructions (#25479)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:35:28 -04:00
Multazim DeshmukhandSam Firke 789e6b76ae docs: add a FAQ about asset recovery from UI (#25482)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:35:15 -04:00
Multazim DeshmukhandSam Firke c52c206d05 docs: add https & ldap instructions (#25477)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:33:54 -04:00
Craig Rueda db7f5fed31 chore(async): Initial Refactoring of Global Async Queries (#25466) 2023-10-02 17:22:07 -07:00
John Bodley 36ed617090 fix: Address Mypy issue which is causing CI to fail (#25494) 2023-10-02 14:32:21 -07:00
Yaswanth-Perumalla 0d0a81c0d2 fix(Indian Map Changes): fixed-Indian-map-border (#24927) 2023-09-30 12:17:14 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8553b06155 build(deps-dev): bump prettier from 3.0.2 to 3.0.3 in /superset-websocket (#25120)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 23:15:57 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6aed5887e5 build(deps-dev): bump @types/jsonwebtoken from 9.0.2 to 9.0.3 in /superset-websocket (#25325)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 23:13:53 -06:00
Sam Firke b33d152a5b docs(FAQ): remove reference to filter box, add Q&A re: usage analytics (#25435) 2023-09-29 23:12:11 -06:00
yousoph e36e0fdf25 chore: Update Explore tooltip copy (#25438) 2023-09-29 23:11:19 -06:00
Jay ZuoandSam Firke a14fcc95e7 chore(misc): Typos in config.py (#25465)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-09-29 23:11:10 -06:00
ʈᵃᵢ ddde178e3b fix(sqllab): error with lazy_gettext for tab titles (#25469) 2023-09-29 19:31:20 -07:00
Hugh A. Miles IIandLily Kuang 85251f8cae fix: Tags Page Polish (#25403)
Co-authored-by: Lily Kuang <lily@preset.io>
2023-09-29 22:13:26 -04:00
Kamil Gabryjelski 0cebffd59a fix: Styles not loading because of faulty CSP setting (#25468) 2023-09-29 20:54:32 +02:00
Ville Brofeldt 7eab59af51 fix(mysql): handle string typed decimal results (#24241) 2023-09-29 10:48:08 -07:00
Josh Soref 0735680674 chore(backend): Spelling (#25457)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:36:50 -07:00
Josh Soref 3e0c70d018 chore(misc): Spelling (#25456)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:34:04 -07:00
Josh Soref 041197b6df chore(docs): Spelling (#25453)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:51:14 -04:00
Celalettin Calis b9b557a761 fix(helm chart): set chart appVersion to 3.0.0 (#25373) 2023-09-29 09:19:03 -03:00
Gyuil Han e83a76a586 fix: update the SQLAlchemy model definition at json column for Log table (#25445) 2023-09-29 09:02:44 -03:00
Michael S. Molina 7cf96cd843 fix: Duplicate items when pasting into Select (#25447) 2023-09-28 14:11:58 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 1a759ce56d build(deps): bump get-func-name from 2.0.0 to 2.0.2 in /superset-frontend/cypress-base (#25441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-28 10:58:13 -06:00
Corbin Bullard 11b49a6ceb fix(SqlLab): make icon placement even (#25372) 2023-09-28 15:36:24 +02:00
StepanandJUST.in DO IT a0eeb4d767 fix(nativeFilters): Speed up native filters by removing unnecessary rerenders (#25282)
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-09-28 14:37:19 +02:00
JUST.in DO IT ba5e2f634a fix(sqllab): invalid start date (#25437) 2023-09-27 12:23:59 -07:00
Beto Dealmeida f0080f9c55 fix: smarter date formatter (#25404) 2023-09-27 09:52:36 -07:00
JUST.in DO IT 463962a58b fix(sqllab): misplaced limit warning alert (#25306) 2023-09-27 08:25:46 -07:00
Daniel Vaz Gaspar 1716b9f8f6 fix: swagger UI CSP error (#25368) 2023-09-27 08:55:29 +01:00
Beto Dealmeida a4d8f36863 fix: chart import (#25425) 2023-09-26 19:31:34 -07:00
Lily KuangandMichael S. Molina 40ba3c2d57 chore: cryptography version bump (#25276)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-09-26 16:01:01 -07:00
John Bodley 893b45feef fix: Rename on_delete parameter to ondelete (#25424) 2023-09-26 16:00:37 -07:00
Jack 296ff17f19 fix: preventing save button from flickering in SQL Lab (#25106) 2023-09-26 11:41:28 -07:00
52eba11d6a docs: update docker-compose to match latest release (#25332)
Also notes that one needn't build a new image.

Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-09-26 10:16:52 -04:00
Ville Brofeldt f6ce40d246 chore: upgrade node to most recent 16.x (#25362) 2023-09-26 04:00:41 -07:00
Michael S. Molina d76ff39766 fix: Workaround for Cypress ECONNRESET error (#25399) 2023-09-25 17:39:06 -03:00
Aleksey Karpov e1a91e2228 feat(docker): Use docker buildx and Add ARM builds for dockerize and websocket (#25377) 2023-09-25 13:08:21 -07:00
Michael S. Molina 0c083bdc1a feat: Adds Sunburst chart migration logic (#25343) 2023-09-22 09:44:40 -03:00
Hugo Sjöberg 9bd97ef4f2 fix: update helm chart app version (#25361) 2023-09-21 20:11:51 -07:00
Beto DealmeidaandMichael S. Molina 5ebcd2a5f6 fix: datetime with timezone excel export (#25318)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-09-21 13:11:59 -07:00
Michael S. Molina 5b3910db97 chore: Adds 3.0 data to CHANGELOG and UPDATING (#25360) 2023-09-21 13:59:19 -03:00
Zef Lin 16f31f8090 feat(sqllab): extra logging when chart is downloaded (#25345) 2023-09-21 09:43:06 -07:00
Craig Rueda 515452c7e2 chore(async): Making create app configurable (#25346) 2023-09-20 10:04:58 -07:00
Michael S. Molina a971a28a34 fix: DashboardRoles cascade operation (#25349) 2023-09-20 13:08:07 -03:00
JUST.in DO IT 7aaae06c9d fix(sqllab): invalid persisted tab state (#25308) 2023-09-19 15:58:34 -07:00
Michael S. Molina b722a95bab feat: Adds CLI commands to execute viz migrations (#25304) 2023-09-19 14:34:08 -03:00
Jack Fragassi f672d5da5c fix: Improve the reliability of alerts & reports (#25239) 2023-09-19 09:40:13 -07:00
Ravi Kumar a724850c84 docs: jwks_uri addition to OAUTH provider (#24928) 2023-09-19 12:07:48 -04:00
Kris LendonandNav_InverseInfinity 5cc0feb647 feat(helm): Support HPA for supersetNode and supersetWorker (#25280)
Co-authored-by: Nav_InverseInfinity <naveen.damotharan@outlook.com>
2023-09-18 15:16:52 -07:00
Hugh A. Miles II 090ae64dfa feat(tag): fast follow for Tags flatten api + update client with generator + some bug fixes (#25309) 2023-09-18 11:56:08 -07:00
Janhavi Tripurwar 6e799e37f4 docs: add snowflake-sqlalchemy in ./docker/requirements-local.txt (#25312) 2023-09-18 14:54:04 -04:00
Jack Fragassi fba66c6250 fix: Use RLS clause instead of ID for cache key (#25229) 2023-09-18 11:37:35 -07:00
Zef LinandKamil Gabryjelski c8c94825ce fix(chart): Supporting custom SQL as temporal x-axis column with filter (#25126)
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
2023-09-18 11:30:52 -07:00
Jonathon Batson e11012d426 docs: add ReadyTech to INTHEWILD.md (#25324) 2023-09-18 14:27:01 -04:00
John Bodley d54e827bb9 fix: Add explicit ON DELETE CASCADE for dashboard_roles (#25320) 2023-09-18 09:49:51 -03:00
Ville Brofeldt 4ddd56f788 chore: bump gunicorn to v21 (#25313) 2023-09-15 13:14:00 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 06c0a5bba9 build(deps-dev): bump @types/uuid from 9.0.3 to 9.0.4 in /superset-websocket (#25311)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-15 09:54:11 -07:00
JUST.in DO IT 52faa2e17d chore(sqllab): Migrate tests to typescript (#25274) 2023-09-15 09:43:45 -07:00
Evan Rusackas 78cbdc3e42 chore: changing one word (disablement -> disabling) (#25291) 2023-09-14 16:01:00 -07:00
StepanandElizabeth Thompson 14c324950a feat(datasource): Checkbox for always filtering main dttm in datasource (#25204)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-09-14 15:57:08 -07:00
Aleksey Karpov 467e062e8e build(docker): bump geckodriver and firefox to latest (#25287) 2023-09-14 14:23:48 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ec61910232 build(deps): bump ws from 8.13.0 to 8.14.1 in /superset-websocket (#25293)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 09:49:54 -07:00
Beto Dealmeida bb002d6147 fix: is_select with UNION (#25290) 2023-09-14 09:05:19 -07:00
Josh Soref e1ddba9c0f docs: rewrite superset docker localhost prose (#25296)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-14 09:31:56 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 426aa777fb build(deps): bump uuid from 9.0.0 to 9.0.1 in /superset-websocket (#25279)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 09:49:00 -07:00
John Bodley 8eff5a75b4 chore: Remove the ability to switch to filter-box chart when DASHBOARD_NATIVE_FILTERS feature is enabled (#25275) 2023-09-12 18:39:38 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> a747eaa740 build(deps-dev): bump eslint from 8.48.0 to 8.49.0 in /superset-websocket (#25263)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 09:46:18 -07:00
Lily Kuang a9512c1eef fix: inability to remove chart filter when dashboard time filter is applied (#25217) 2023-09-12 11:19:21 -03:00
Kamil Gabryjelski 242921bb4c fix: Add line height to metadata bar (#25268) 2023-09-12 10:11:34 -03:00
Hugh A. Miles II 55ac01b675 feat: Tags ListView Page (#24964) 2023-09-12 14:48:07 +02:00
Hugo Sjöberg baf713aad5 fix(dockefile): broken docker image (#25251) 2023-09-11 13:40:49 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 37742c40ca build(deps-dev): bump @types/node from 20.5.7 to 20.6.0 in /superset-websocket (#25253)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 10:00:05 -07:00
John Bodley 83fc553841 refactor: Remove obsolete HiveEngineSpec.fetch_logs method (#20631) 2023-09-11 08:31:18 -07:00
Kamil Gabryjelski ea21e800a7 fix: Currency formatting in Table raw mode (#25248) 2023-09-11 16:48:39 +02:00
Kamil Gabryjelski 894f250229 fix: Don't apply number formatting to the label in Treemap (#25249) 2023-09-11 08:42:24 -03:00
Michael S. Molina 6f4e63162f fix: Clearing the currency format has no effect on the chart (#25238) 2023-09-11 08:26:43 -03:00
Ville Brofeldt 0668d12e3b chore(trino): remove unnecessary index checks (#25211) 2023-09-08 18:15:45 -07:00
Beto Dealmeida 710e111c5e chore(read_csv): remove deprecated argument (#25226) 2023-09-08 12:10:55 -07:00
yousoph 33624289fe fix(docs): Fixing a typo in README.md (#25216) 2023-09-08 12:23:19 -04:00
Michael S. Molina 0e17e4b06f fix: Cypress test to force mouseover (follow-up) (#25223) 2023-09-07 14:17:22 -03:00
Kamil Gabryjelski 09e9cb484b chore: Convert deckgl class components to functional (#25177) 2023-09-07 13:28:09 +02:00
Beto Dealmeida 749274e635 fix: granularity_sqla and GENERIC_CHART_AXES (#25213) 2023-09-06 20:09:15 -07:00
Rob Moore cfda30c81a fix(sqllab): Force trino client async execution (#24859) 2023-09-06 14:20:26 -07:00
Michael S. Molina 47518cb002 fix: Cypress test to force mouseover (#25209) 2023-09-06 16:23:39 -03:00
Beto Dealmeida 2f68010729 fix: is_select (#25189) 2023-09-06 11:54:25 -07:00
Sam Firke 8be8014504 docs(FAQ): add answer re: necessary specs, copy-edit existing answer (#24992) 2023-09-06 14:24:59 -04:00
JUST.in DO IT 2d4de5146b feat(sqllab): Show sql in the current result (#24787) 2023-09-06 09:48:42 -07:00
Elizabeth Thompson a40e9a4d06 chore: back port 2.1.1 doc changes (#25165) 2023-09-06 09:14:32 -07:00
Daniel Vaz Gaspar 251ce2ed2a docs: add CVEs for 2.1.1 (#25206) 2023-09-06 15:39:14 +01:00
Carlos M 78b8e9421e docs: fix wrong type in PREFERRED_DATABASES example (#25200)
Signed-off-by: cmontemuino <1761056+cmontemuino@users.noreply.github.com>
2023-09-06 10:28:07 -04:00
Michael S. Molina e605d6dddf fix: All values being selected in Select (#25202) 2023-09-06 10:37:21 -03:00
Hugh A. Miles II d8496425e2 fix: DML failures in SQL Lab (#25190) 2023-09-06 09:41:36 -03:00
Sandeep Patel d0305445b2 fix: Issue #24493; Resolved report selection menu in chart and dashboard page (#25157) 2023-09-05 11:10:42 -03:00
Lily KuangandMichael S. Molina f2523b26fa fix: Applying Dashboard Time Range Filters to Overwritten Charts (#25156)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-09-01 14:30:37 -07:00
JUST.in DO IT 8b2a408dea fix(sqllab): Invalid start date (#25133) 2023-09-01 11:28:19 -07:00
Michael S. Molina e391a1b49e chore: Add a note about adhoc subqueries in UPDATING.md (#25161) 2023-09-01 14:38:37 -03:00
Michael S. Molina aea916782d fix: Sunburst chart error when secondary metric is null (#25159) 2023-09-01 14:09:45 -03:00
wAVeckx 1f5cec94bd chore: fix broken link to Celery worker docs (#25160) 2023-09-01 12:24:50 -04:00
aehanno 2c4629a77d fix: Fixing untranslated FR strings (#20078) 2023-09-01 10:12:12 -03:00
KSPT-taylorjohn bbfaeb074e fix: Chart series limit doesn't work for some databases (#25150) 2023-08-31 15:05:39 -07:00
John Bodley de9515c294 fix: Handle Python date format for GENERIC_CHART_AXES feature (#25135) 2023-08-31 13:50:34 -07:00
JUST.in DO IT 06bf44a823 fix(sqllab): invalid reducer key name (#25152) 2023-08-31 13:24:08 -07:00
Ethan M LewisandJohn Bodley 321d968504 fix: add format for timestamp in crdb to correctly use times values (#24711)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-31 10:23:32 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 62f9e54c8f build(deps-dev): bump @types/uuid from 9.0.2 to 9.0.3 in /superset-websocket (#25142)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-31 10:08:15 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 0b780d55bb build(deps): bump jsonwebtoken from 9.0.1 to 9.0.2 in /superset-websocket (#25141)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-31 10:07:59 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 15d6508407 build(deps): bump jsonwebtoken from 9.0.1 to 9.0.2 in /superset-websocket/utils/client-ws-app (#25140)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-31 10:07:31 -07:00
John Bodley e18294463e docs: Fix typo in UPDATING.md (#25127) 2023-08-31 12:55:51 -04:00
Michael S. Molina 1144ac15c9 fix: Partially reverts #25007 (#25124) 2023-08-31 08:45:50 -03:00
Michael S. Molina 9df1b26654 fix: Bumps Flask Caching to fix RCE vulnerability (#25090) 2023-08-31 08:44:48 -03:00
JUST.in DO IT 846c79ef55 chore: consolidate sqllab store into SPA store (#25088) 2023-08-30 16:09:57 -07:00
Sam Firke eeecd59c9d refactor(frontend): make "Search" box the first filter for charts and datasets (#25129) 2023-08-30 17:34:03 -04:00
Jack 66e2807009 feat: removing renderCard from Tags/index.tsc to remove cardview from Tags ListView (#25105) 2023-08-30 19:35:21 +02:00
Sebastian Liebscher 067bfbf950 chore: move TypedDict from typing_extensions to typing (#25121) 2023-08-30 09:49:45 -07:00
Vitor Avila 46a0a6e08a fix(DB Connection): Update placeholder values for Snowflake connection (#25119) 2023-08-30 14:16:31 +02:00
Michael S. Molina 00550d7c02 fix: Date format when importing international timestamps (#25113) 2023-08-30 08:45:01 -03:00
John BodleyandMichael S. Molina e642361399 docs: Update UPDATING.md regarding potential breaking change to ab_user.email column (#25115)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-08-30 08:42:23 -03:00
JUST.in DO IT 29355577f1 fix(sqllab): error while removing a referenced table (#25114) 2023-08-29 14:38:07 -07:00
Sebastian LiebscherandJohn Bodley e585db85b6 chore: use contextlib.surpress instead of passing on error (#24896)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-29 10:09:01 -06:00
JUST.in DO IT 72150ebadf fix(sqllab): rendering performance regression by resultset (#25091) 2023-08-28 12:27:18 -07:00
Aleksey Karpov e4b54c3c01 feat(docker): refactor docker images (#25089) 2023-08-28 11:07:07 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> da89feeb16 build(deps-dev): bump eslint from 8.47.0 to 8.48.0 in /superset-websocket (#25098)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-28 09:53:18 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 7d418f3dce build(deps-dev): bump @types/node from 20.5.6 to 20.5.7 in /superset-websocket (#25097)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-28 09:53:03 -07:00
Jack Fragassi 2b8d8da22a fix: Allow embedded guest user datasource access with dashboard context (#25081) 2023-08-28 09:48:21 -07:00
Jack Fragassi b240b795b5 fix(assets import): Ensure old datasource ids are not referenced in imported charts (#25086) 2023-08-28 09:47:19 -07:00
Michael S. Molina b5bac6c876 fix: Filter names overflow wrap (#25087) 2023-08-28 11:28:16 -03:00
Kamil Gabryjelski 4c4fedc452 chore: Refactor deck.gl plugins to Typescript (#24933) 2023-08-28 13:56:06 +02:00
Hugh A. Miles II fcd045f84a chore: Update docs for docker-compose installation (#24980) 2023-08-28 12:36:19 +02:00
Erich c2a21d2da0 refactor(pinot): The python_date_format for a temporal column was not being passed to get_timestamp_expr (#24942) 2023-08-27 18:46:39 +02:00
Hugh A. Miles II 69fb309ec3 feat: Update Tags CRUD API (#24839) 2023-08-25 21:16:35 +02:00
Zef Lin 5168475826 fix: dataset update permission out of sync (#25043) 2023-08-25 11:34:25 -07:00
Sam Firke da172bf8cf docs(docker-compose): add missing parenthesis (#24771) 2023-08-25 11:55:45 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b3424266cd build(deps-dev): bump @types/node from 20.5.1 to 20.5.6 in /superset-websocket (#25082)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-25 09:51:01 -07:00
Ville Brofeldt 04bb73cf27 chore(reports): add metrics to report schedule and log prune (#25080) 2023-08-25 09:39:26 -07:00
Jack Fragassi 7402379346 fix(embedded sdk): Remove trailing slash from passed superset domain if there is one (#25020) 2023-08-25 09:24:58 -07:00
JUST.in DO IT 4d9e9a4b1c chore(sqllab): typescript for getInitialState (#25047) 2023-08-24 16:54:06 -07:00
Lily Kuang 6ac906f388 chore: remove CssTemplate and Annotation access from gamma role (#24826) 2023-08-24 16:39:56 -07:00
Michael S. Molina f584c8462b fix: Cross filters initial scope (#25074) 2023-08-24 13:01:45 -03:00
Multazim Deshmukh 8d3340045c build(deps): Bump PyHive (#25030) 2023-08-24 08:43:22 -07:00
Evan Rusackas 63f24ea57e test(cypress): Fail Cypress on Console errors (#24872) 2023-08-24 08:44:35 -06:00
Evan Rusackas 60c2ac3268 feat: adding Scarf pixels to gather telemetry on readme and website (#25065) 2023-08-24 08:44:05 -06:00
Stepan 0d5be8e3f6 fix(table): condition formatting can't formate 0 values (#24008) 2023-08-24 08:01:40 -06:00
Beto Dealmeida 3630d6844c fix: small fixes for the meta DB (#25067) 2023-08-23 14:24:13 -07:00
Rémy DUBOIS 80fcbfab7c fix(cli): import-directory is missing the application context (#21255) 2023-08-23 13:32:57 -06:00
John Bodley adaab3550c fix: Ensure SQLAlchemy sessions are closed (#25031) 2023-08-23 11:57:36 -07:00
Michael S. Molina 0dadf06245 chore: Organizes the files of the ReportModal feature (#25046) 2023-08-23 11:02:25 -03:00
Daniel Vaz Gaspar a9efd4b2e3 fix: dataset safe URL for explore_url (#24686) 2023-08-23 09:31:44 -03:00
Michael S. MolinaandJohn Bodley c92a975e4b fix: Error when using the legacy dataset editor (#25057)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-23 09:10:17 -03:00
John Bodley 60889d27ed fix: Native filter dashboard RBAC aware dataset permission (#25029) 2023-08-22 09:58:43 -07:00
Michael S. Molina 7317d9c0b2 fix: docker-compose non-dev (#25055) 2023-08-22 11:35:10 -03:00
Daniel Vaz Gaspar 6975084ea5 fix: extend user email size (#25053) 2023-08-22 14:52:49 +01:00
Craig Rueda c7a3bf0f4b chore(tests): Adding missing __init__.py files to various test packages (#25045) 2023-08-21 12:39:31 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> eaa86d89e9 build(deps-dev): bump @types/node from 20.5.0 to 20.5.1 in /superset-websocket (#25038)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 09:51:31 -07:00
JUST.in DO IT b339613844 chore(sqllab): Relocate user in SqlLab to root (#25010) 2023-08-21 09:42:31 -07:00
Giulio Talarico 5e56871fd9 docs: fix line break in Apache Druid page (#25034) 2023-08-21 11:07:01 -04:00
Sebastian Liebscher 969cd664cb chore: use os.getenv to simplify superset_config.py (#25016) 2023-08-21 08:45:22 -03:00
Yuval Moshe 66eabc253f fix(mssql): avoid trying to return a resultset for DML queries with not resultset (#24999) 2023-08-21 08:33:26 -03:00
Daniel Vaz Gaspar 357986103b fix: CTE queries with non-SELECT statements (#25014) 2023-08-19 15:49:15 +01:00
Beto Dealmeida 6b660c86a4 feat: a native SQLAlchemy dialect for Superset (#14225) 2023-08-18 12:21:36 -07:00
Beto Dealmeida bbf0aaec5d chore: rename get_iterable (#24994) 2023-08-18 11:59:43 -07:00
Michael S. Molina 0be1754666 fix: Dashboard fullscreen is removing custom URL params (#25028) 2023-08-18 15:07:31 -03:00
John Bodley 3f93755be2 fix: Address regression introduced in #24789 (#25008) 2023-08-18 09:27:34 -07:00
Michael S. Molina 52c7186b56 chore: Pass the dashboard id when requesting filter values (#25025) 2023-08-18 13:19:19 -03:00
Michael S. Molina b428b06217 chore: Removes Saved Query old code (#25007) 2023-08-18 09:40:28 -03:00
Jack Fragassi 258e56285a fix: Don't let users see dashboards only because it's favorited (#24991) 2023-08-17 17:35:37 -07:00
Jack Fragassi 4a59a265fb chore: Update DAOs to use singular deletion method instead of bulk (#24894) 2023-08-17 17:00:33 -07:00
Michael S. Molina 62cbc0c95c fix: Downgrades Prophet to 1.1.1 and Holidays to 0.23 (#25017) 2023-08-17 17:31:40 -03:00
Michael S. Molina 35eb66a322 fix: Date column in Heatmap is displayed as unix timestamp (#25009) 2023-08-17 11:24:40 -03:00
Michael S. Molina 712e1f760c feat: Moves Profile to Single Page App (SPA) (#25001) 2023-08-17 11:01:24 -03:00
Daniel Vaz Gaspar 269c99293f chore: isolate examples database by default (#25003) 2023-08-17 11:50:24 +01:00
JUST.in DO IT 10abb68288 feat(sqllab): Add /sqllab endpoint to the v1 api (#24983) 2023-08-16 16:09:10 -07:00
Michael S. Molina 2eb0a255d9 chore: Removes src/modules top folder (#25005) 2023-08-16 16:59:52 -03:00
Elizabeth Thompson bc1c5c2f84 fix: update permalink schema (#24970) 2023-08-16 09:56:20 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 48fdc8103a build(deps-dev): bump prettier from 3.0.1 to 3.0.2 in /superset-websocket (#24998)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-16 09:53:05 -07:00
Elizabeth Thompson 2b63577046 fix: Revert "fix(chart): Time Series set showMaxLabel as null for time xAxis (#20627) (#24995) 2023-08-16 09:51:00 -07:00
Ville Brofeldt f94dc49fd0 fix(snowflake): opt-in denormalization of column names (#24982) 2023-08-15 16:32:54 -07:00
0a8881b3c1 chore: modify UPDATING.md for logs table migrations (#24923)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-08-15 16:49:19 -03:00
JUST.in DO IT 155cf54c15 fix(sqllab): scroll position after run current sql (#24965) 2023-08-15 10:52:35 -07:00
Michael S. Molina 025e4d4772 fix: Calendar Heatmap day offset (#24989) 2023-08-15 13:35:35 -03:00
Vitor Avila cacad56172 chore(dashboard import/export): include additional fields to export/import commands (#24941) 2023-08-14 13:50:31 -07:00
John Bodley 0879b9215c chore(dao): Remove redundant convenience methods (#24967) 2023-08-14 12:07:04 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 12f2b0f8e7 build(deps-dev): bump @types/node from 20.4.9 to 20.5.0 in /superset-websocket (#24973)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 09:53:47 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 55eaa25216 build(deps-dev): bump eslint from 8.46.0 to 8.47.0 in /superset-websocket (#24972)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 09:53:31 -07:00
Michael S. Molina be11556799 feat: Adds options to show subtotals in Pivot Table (#24960) 2023-08-14 09:20:32 -03:00
JUST.in DO IT a44c99899a chore(sqllab): Relocate get bootstrap data logic (#24936) 2023-08-11 13:23:07 -07:00
John Bodley ed0d288ccd chore(dao): Replace save/overwrite with create/update respectively (#24467) 2023-08-11 12:55:39 -07:00
Beto Dealmeida a3d72e0ec7 fix(gsheets): add column names on file upload (#24963) 2023-08-11 12:51:21 -07:00
Holger Bruch b54b4e5e9b docs: Add wattbewerb to users list (#24962) 2023-08-11 14:27:58 -03:00
Igor Khrol b96a30e8a4 chore: Add Automattic to the list of users and contributors (#24961) 2023-08-11 14:27:21 -03:00
Michael S. Molina b621ee92c9 fix: Duplicated options in Select when using numerical values (#24906) 2023-08-11 14:22:15 -03:00
Beto Dealmeida a1e32dbfa6 feat: command to test DB engine specs (#24918) 2023-08-11 10:10:49 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 7b56c27383 build(deps): bump tough-cookie and @cypress/request in /superset-frontend/cypress-base (#24958)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-11 10:53:03 -06:00
Michael S. Molina 9703490129 fix: Tooltips don't disappear on the Heatmap chart (#24959) 2023-08-11 13:40:45 -03:00
Beto Dealmeida 4bc46003b5 chore: rate limit requests (#24324) 2023-08-11 09:35:31 -07:00
Beto Dealmeida f5ed4072e4 feat(gsheets): file upload (#24921) 2023-08-11 06:35:00 -07:00
Beto Dealmeida 6f24a4e7a8 fix: calls to _get_sqla_engine (#24953) 2023-08-11 12:54:01 +02:00
Beto Dealmeida aca006f38b fix: timezone issue in Pandas 2 (#24955) 2023-08-11 00:25:33 -07:00
Beto Dealmeida 41ca4a00b9 fix: to_datetime in Pandas 2 (#24952) 2023-08-10 19:32:15 -07:00
Rob Moore ce65a3b9cd fix(charts): View in SQL Lab with relevant perm (#24903) 2023-08-10 20:04:07 +03:00
Multazim Deshmukh bcd24936bc fix: remove unused file (#24946) 2023-08-10 08:08:54 -07:00
John BodleyandMichael S. Molina 55014bf58b chore: Add explicit ON DELETE CASCADE for embedded_dashboards (#24939)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-08-10 11:41:14 -03:00
John Bodley 94c595093b chore: Add explicit ON DELETE CASCADE for dashboard_slices (#24938) 2023-08-10 10:56:11 -03:00
Michael S. Molina 284c12697b chore: Removes duplicated featureFlags.ts (#24935) 2023-08-10 10:55:44 -03:00
Tanner Barcelos 764f0f79ca docs: Fixing Superset typo in docker-compose local installation guide (#24920) 2023-08-10 09:34:26 -04:00
Beto Dealmeida 9c54280d85 feat: add MotherDuck DB engine spec (#24934) 2023-08-09 16:42:14 -07:00
John Bodley f6c3f0cbbb fix: Dashboard aware RBAC "Save as" menu item (#24806) 2023-08-09 13:37:52 -07:00
John Bodley 34586648a5 chore: Refine native dashboard cleanup logic (#24864) 2023-08-09 10:42:29 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> cdf5652e5f build(deps-dev): bump @types/node from 20.4.8 to 20.4.9 in /superset-websocket (#24924)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-09 09:56:14 -07:00
John Bodley 5522facdc6 chore: Refactor dashboard security access (#24804) 2023-08-09 09:25:58 -07:00
Michael S. Molina ec9e9a46f2 fix: Tooltip of area chart shows undefined total (#24916) 2023-08-08 18:13:21 -03:00
Giulio TalaricoandMichael S. Molina 81bf2f01e2 docs: fix tip box in "Installing From Scratch" page (#24915)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-08-08 15:12:36 -03:00
JUST.in DO IT 340bfd88ae fix(explore): double resize triggered (#24886) 2023-08-08 10:21:21 -07:00
Gyuil Han eb7c14561e fix(logs): increase json field for logs table (#24911) 2023-08-08 08:46:27 -07:00
Beto Dealmeida 85a7d5cb3e feat: improve SQLite DB engine spec (#24909) 2023-08-07 15:59:56 -07:00
dependabot[bot]dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Maxime Beauchemin
3b81538e02 build(deps-dev): bump prettier from 2.8.8 to 3.0.1 in /superset-websocket (#24878)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2023-08-07 10:08:41 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 569d07db23 build(deps-dev): bump eslint-config-prettier from 8.10.0 to 9.0.0 in /superset-websocket (#24900)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 10:55:28 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> f7e3b8b9f4 build(deps-dev): bump @types/node from 20.4.7 to 20.4.8 in /superset-websocket (#24901)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:52:31 -07:00
Jack Fragassi 07992c11e7 fix: Migration to fix out of sync schema_perm in charts and datasets (#24884) 2023-08-07 09:34:47 -07:00
John Bodley 7397ab36f2 fix: Dashboard aware RBAC dataset permission (#24789) 2023-08-04 11:53:34 -07:00
John Bodley 9f7f2c60d6 fix: revert "fix(embedded): adding logic to check dataset used by filters (#24808) (#24892) 2023-08-04 11:14:57 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8d1fd269e0 build(deps-dev): bump @types/node from 20.4.6 to 20.4.7 in /superset-websocket (#24888)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-04 10:54:40 -07:00
Elizabeth Thompson d23b20ea75 chore: add talisman env var to config (#24774) 2023-08-04 09:04:14 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 554ef07eed build(deps-dev): bump @types/node from 20.4.5 to 20.4.6 in /superset-websocket (#24880)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-03 09:54:00 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 868f55372f build(deps-dev): bump eslint-config-prettier from 8.8.0 to 8.10.0 in /superset-websocket (#24879)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-03 09:53:35 -07:00
John Bodley 7edcbc974c docs(native-filters): Remove outdated statement (#24873) 2023-08-03 09:51:16 -07:00
Zoynels 031e660506 feat(chart): Added Central Asia countries to countries map (#24870) 2023-08-03 09:49:03 -07:00
JUST.in DO IT 6ff7fae0b0 fix(dataset): resizable dataset layout left column (#24829) 2023-08-03 09:34:33 -07:00
Michael S. Molina aee2695413 fix: Ignores hot update files when generating the manifest (#24871) 2023-08-03 10:20:01 -03:00
JUST.in DO IT 371bffbfea fix(explore): invalid "No Filter" applied (#24876) 2023-08-03 10:17:56 -03:00
John Bodley f05638ba84 fix(annotation): Address regression from #24694 (#24874) 2023-08-03 09:33:03 -03:00
suryadev99andJohn Bodley cfadbeb353 chore: Bump cryptography (#24657)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-02 22:12:56 -07:00
Hugh A. Miles II b71541fb7f fix: validation errors appearing after ssh tunnel switch (#24849) 2023-08-02 17:41:37 -04:00
Michael S. Molina bf1b1a4c46 fix: Explore misleading save action (#24862) 2023-08-02 15:46:03 -03:00
Kamil Gabryjelski f7e76d02b7 feat: Add currencies controls in control panels (#24718) 2023-08-02 19:22:45 +02:00
JUST.in DO IT 1a9c559a8f fix(sqllab): Add docText for long keyword (#24847) 2023-08-02 09:02:57 -07:00
Michael S. Molina 434db0d686 fix: Ignores ResizeObserver errors in development mode (#24868) 2023-08-02 11:41:21 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 44e4fb1090 build(deps-dev): bump eslint from 8.45.0 to 8.46.0 in /superset-websocket (#24842)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-01 13:48:36 -06:00
JUST.in DO IT 1c5971d3af fix(legacy-chart): corrupted raw chart data (#24850) 2023-08-01 09:49:04 -07:00
Michael S. Molina ea17dd637c fix: Links in tooltips of dashboard chart cards (#24846) 2023-08-01 10:28:10 -03:00
Vitor Avila 7f9b0380e0 fix(embedded): adding logic to check dataset used by filters (#24808) 2023-07-31 14:10:57 -07:00
Sebastian Liebscher 14a27b1ba3 chore(api): clean up API spec (#24838) 2023-07-31 20:03:58 +03:00
EugeneTorap 5f103072b0 fix: Python3.11 (str, Enum) issue (#24803) 2023-07-31 09:04:09 -07:00
Jack Fragassi 77889b29fb fix: Allow chart import to update the dataset an existing chart points to (#24821) 2023-07-28 16:08:03 -07:00
John Bodley caffe3cb1f fix(migration): Ensure cascadeParentIds key exists (#24831) 2023-07-28 13:54:18 -07:00
Stepan 64ced60f62 fix(datasets): give possibility to add dataset with slashes in name (#24796) 2023-07-28 14:33:08 -03:00
Sam Firke e2d5046bb7 docs(Kubernetes): Fix typos, clarify language re: Scarf (#24834) 2023-07-28 10:42:57 -06:00
Michael S. Molina 5bb8e0da89 fix: Removes unnecessary query on filters (#24814) 2023-07-28 10:56:51 -03:00
John Bodley a50c43e0fa fix: Alembic migration head (#24832) 2023-07-28 11:08:31 +01:00
Beto Dealmeida 7cd317fe2e chore: remove get_columns_description duplication (#24819) 2023-07-27 14:39:15 -07:00
Evan Rusackas a1396d00aa docs: Adding a couple links to contributing page (#24817) 2023-07-27 13:27:40 -06:00
Evan Rusackas 7e26dc8c5b docs: fixing stack overflow link (#24820) 2023-07-27 13:27:30 -06:00
Hugh A. Miles II 3b46511439 feat(Tags): Allow users to favorite Tags on CRUD Listview page (#24701) 2023-07-27 13:17:26 -04:00
Kamil Gabryjelski d26ea980ac feat: Add line width unit control in deckgl Polygon and Path (#24755) 2023-07-27 18:41:50 +02:00
Beto Dealmeida ba508a786c fix: pass schema on dataset creation (#24815) 2023-07-26 18:30:05 -07:00
Hugh A. Miles II e5d626c304 feat: add empty state for Tags (#24702) 2023-07-26 20:24:25 -04:00
Michael S. Molina 4b1f1d49d6 fix: Filters alert width (#24801) 2023-07-26 16:30:52 -03:00
JUST.in DO IT 77505173ae fix(sqllab): Replace autocomplete logic by a hook (#24677) 2023-07-26 11:24:28 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 83ad291053 build(deps-dev): bump @types/node from 20.4.4 to 20.4.5 in /superset-websocket (#24809)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-26 12:06:46 -06:00
Daniel Vaz Gaspar d1eb9ea982 fix: docs invalid client redirect (#24816) 2023-07-26 19:00:21 +01:00
Chris HarrisandEvan Rusackas af4a35741c docs(K8s): Add instructions for loading the examples (#19959)
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-07-26 11:49:06 -06:00
Daniel Vaz Gaspar 165afee55a docs: update security policy and add CVE info (#24769) 2023-07-26 14:21:26 +01:00
xavier-GitHub76 a9c4472d25 fix: Department names fixed for CountryMap of France (#23988) 2023-07-25 15:41:53 -03:00
Gyuil Han ff7c1528db fix(dashboard): increase json_metadata field (#24510) 2023-07-25 15:30:43 -03:00
Stepan 761fec2574 fix(chore): switching between languages should be without timeout 60 seconds (#24798) 2023-07-25 15:16:33 -03:00
JUST.in DO IT 4a81284056 fix(sqllab): Replace margin style by gap on query results (#24772) 2023-07-25 10:16:03 -03:00
EugeneTorapandJohn Bodley fc89718d48 chore: Update pylint to 2.17.4 (#24700)
Co-authored-by: John Bodley <john.bodley@gmail.com>
2023-07-24 17:13:49 -07:00
Sebastian Liebscher c17accc0b4 chore: bump postgresql in docker-compose and github workflows (#24147) 2023-07-24 11:09:41 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> c43674e8f3 build(deps-dev): bump @types/node from 20.4.2 to 20.4.4 in /superset-websocket (#24779)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 11:03:46 -06:00
Michael S. MolinaandJUST.in DO IT 6089b5fdae fix: Select onChange is being fired without explicit selection (#24698)
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-07-24 13:03:45 -03:00
Multazim Deshmukh b8a3eeffdb docs: update AWS Athena and Redshift docs (#24751) 2023-07-23 22:34:14 -06:00
Zef Lin 0631a8086c chore(view_api): return application/json as content-type for api/v1/form_data endpoint (#24758) 2023-07-21 16:31:41 -07:00
Sebastian Liebscher e06004292a feat: add pandas performance dependencies (#24768) 2023-07-21 16:18:35 -06:00
Elizabeth Thompson f856ba246e fix: update svgr webpack config to use svg dimensions (#24747) 2023-07-21 14:48:54 -07:00
Beto Dealmeida abb8e28e49 feat: migrate charts on import (#24703) 2023-07-21 09:33:34 -07:00
Evan Rusackas e210da963d chore(docs): Adding link to additional visualization content (#24759) 2023-07-21 10:04:37 -06:00
mattitoo d642288092 docs: Fix STANDARD_ROLES.md for Gamma role permissions on tableschemaview (#24766) 2023-07-21 09:43:08 -06:00
karsten-wagner a80ec15f4c fix(docs): respect no_proxy environment variable (#23816) 2023-07-21 08:59:31 -03:00
Michael S. Molina ac19f58cf6 fix: Tooltip no longer highlights hovered data series (#24756) 2023-07-21 08:57:39 -03:00
Maxime Beauchemin 341b8d41c5 fix: column/metric type icons look too small (#24740) 2023-07-20 17:24:35 -07:00
Maxime Beauchemin 22a0fe555c chore: make control panel sub sections look better (#24736) 2023-07-20 16:33:50 -07:00
Sam Firke 9b6ed315f8 docs(docker-compose): note the risk of running a Docker Postgres volume in production (#24461) 2023-07-20 16:07:13 -06:00
Beto Dealmeida 7675e0db10 fix: search_path in RDS (#24739) 2023-07-20 12:57:48 -07:00
JUST.in DO ITandJustin Park b2831b419e fix(datasets): Replace left panel layout by TableSelector (#24599)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-20 11:59:31 -07:00
Stepan df106aa708 fix(pvt2): migrations from legacy pivot table error when form_data have pieces of pvt2 (#24710) 2023-07-20 15:25:51 -03:00
Sebastian LiebscherandEugeneTorap 91e6f5cb9f chore(deps): bump pandas >=2.0 (#24705)
Co-authored-by: EugeneTorap <evgenykrutpro@gmail.com>
2023-07-20 11:04:17 -07:00
JUST.in DO ITandJustin Park 05e724f3d7 chore(native filters): Expandable filter config modal (#24559)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-20 10:46:13 -07:00
Michael S. Molina 317aa989c2 fix: Dashboard time grain in Table (#24746) 2023-07-20 14:02:52 -03:00
JUST.in DO ITandJohn Bodley 4086514fa5 fix(native filter): clean deleted parent filter ids (#24749)
Co-authored-by: John Bodley <john.bodley@gmail.com>
2023-07-20 10:00:44 -07:00
Maxime Beauchemin d1d5ff6f9f chore: make antd table font size same as data table (#24741) 2023-07-20 10:00:15 -07:00
Daniel Vaz Gaspar cb9b865a53 fix: import database engine validation (#24697) 2023-07-20 13:08:07 +01:00
Elizabeth Thompson 1a9724582f chore: turn off talisman for ephemeral environments in ci (#24627) 2023-07-19 14:22:32 -07:00
5878c117f2 feat: use Scarf Gateway for Superset npm downloads (#24433)
Co-authored-by: Arjun Devarajan <arjun.devarajan@scarf.sh>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2023-07-19 15:00:45 -06:00
Stepan 2d58dddbdc fix(range-slider): removed localization of metric key (#24716) 2023-07-19 16:48:50 -03:00
John Bodley 5f49e0fdd0 fix(cache): Add cache warmup for non-legacy charts (#24671) 2023-07-19 11:12:36 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 837e3c55ca build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-websocket (#24732)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-19 10:44:22 -06:00
John Bodley 4c5ada421c fix(druid): Delete obsolete Druid NoSQL slice parameters (#24737) 2023-07-19 07:21:43 -07:00
Arjun Devarajan 2b0ffb01b6 feat: use Scarf Gateway for Superset helm charts/Docker compose downloads (#24432) 2023-07-19 06:16:20 -07:00
Sebastian Liebscher 11bb8c35b0 chore: update deprecated arguments in schema (#24715) 2023-07-18 17:48:13 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b7dcc9f7e3 build(deps): bump word-wrap from 1.2.3 to 1.2.4 in /superset-frontend/cypress-base (#24733)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 17:45:05 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2785b8f11e build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-frontend (#24735)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 17:44:55 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 068864b9ea build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-embedded-sdk (#24734)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 17:44:38 -06:00
John Bodley aa01b51177 chore: Bump pyyaml bounds (#24731) 2023-07-18 14:29:29 -07:00
John Bodley 1b5a6790f0 chore: Remove obsolete legacy visualizations (#24694) 2023-07-18 08:17:52 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 9c6d53567c build(deps-dev): bump eslint from 8.44.0 to 8.45.0 in /superset-websocket (#24712)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:54:00 -06:00
Lily Kuang 0328dd2704 fix: color collision in dashboard with tabs (#24670) 2023-07-14 12:13:49 -07:00
Vitor Avila 65fb8e10ba fix(dataset-import): support empty strings for extra fields (#24663) 2023-07-13 16:19:00 -07:00
Daniel Vaz Gaspar ca68250adf chore: move deprecated default version to 4.0.0 (#24689) 2023-07-13 22:22:37 +01:00
Beto Dealmeida 9844b15e07 fix: embedded dashboard check (#24690) 2023-07-13 10:33:12 -07:00
John Bodley a3db5844f0 chore: remove fetch explore json (#24669) 2023-07-13 09:18:15 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 146b5c839c build(deps-dev): bump @types/node from 20.4.1 to 20.4.2 in /superset-websocket (#24682)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 10:16:56 -06:00
Michael S. Molina 6e59f11f4c fix: Dashboard time grain in Pivot Table (#24665) 2023-07-13 11:33:16 -03:00
John BodleyandMichael S. Molina a156816064 chore(command): Condense delete/bulk-delete operations (#24607)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-07-12 15:45:29 -07:00
Aarav Borthakur 6ae6fc60f8 docs: Fix typo in Rockset docs (#24674) 2023-07-12 14:23:20 -07:00
Arkadii Yakovets 767afef398 chore: Bump holidays to 0.28 (#24647) 2023-07-12 10:04:10 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6b7b3ab069 build(deps): bump tox from 4.6.3 to 4.6.4 in /requirements (#24613)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 10:36:27 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> abf31ad3dc build(deps-dev): bump @types/node from 20.4.0 to 20.4.1 in /superset-websocket (#24672)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 10:34:33 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8230ac7b4a build(deps-dev): bump @typescript-eslint/parser from 5.61.0 to 5.62.0 in /superset-websocket (#24673)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 10:33:13 -06:00
John Bodley 462418ba82 chore: Bump/relax Flask libs (#24652) 2023-07-11 23:38:31 -07:00
Aarav Borthakur ea968e47cc chore: Update Rockset—switching out rockset for rockset-sqlalchemy (#24649) 2023-07-11 21:36:09 -06:00
Rob Moore 88418fc609 feat(csv-upload): Configurable max filesize (#24618) 2023-07-11 21:35:22 -06:00
JUST.in DO ITandJustin Park 1473d97055 feat(sqllab): add shortcut for run current sql (#24329)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-11 13:19:52 -07:00
John Bodley ae00489779 chore(dao): Add explicit ON DELETE CASCADE for ownership (#24628) 2023-07-11 11:39:03 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> b4d08aecdb build(deps): bump semver from 5.7.1 to 5.7.2 in /superset-frontend (#24653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 12:27:23 -06:00
JUST.in DO ITandJustin Park ca8c8d2ad3 fix(sqllab): missing column meta on autocomplete (#24611)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-11 11:02:06 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 7aa9f35808 build(deps): bump semver from 6.3.0 to 6.3.1 in /superset-websocket (#24654)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:54:59 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 057539037b build(deps): bump semver from 6.3.0 to 6.3.1 in /superset-frontend/cypress-base (#24655)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:52:56 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8c6f5fe1d3 build(deps): bump trim and @superset-ui/core in /superset-frontend/cypress-base (#24656)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:52:20 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 2d2a76a8ac build(deps): bump winston from 3.9.0 to 3.10.0 in /superset-websocket (#24659)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:51:34 -06:00
John Bodley cbf39650d0 chore: Re-enable some GitHub action workflows in draft mode (#24626) 2023-07-11 10:50:14 -06:00
Duyet Le 7476f7af73 docs(databases): correct the way of using use environment variables (#24633) 2023-07-11 09:50:01 -07:00
Jack Fragassi 4caf33b41d fix: Chart can be added to dashboard by non-owner via save as option (#24630) 2023-07-11 11:58:29 -04:00
Kamil Gabryjelski 2e4d9f2e2a fix: Ensure config is a dict in cross filters scope migration (#24661) 2023-07-11 17:15:28 +02:00
Kamil Gabryjelski bbffc4c1f8 fix: Incorrect initial global scoping of cross filters (#24642) 2023-07-11 17:14:55 +02:00
Michael S. Molina 0efb88479e fix: Validation of out of scope filters and interaction with Clear All (#24610) 2023-07-11 10:41:45 -03:00
John Bodley 65291a00c6 chore: Drop rouge constraints and tables (#24629) 2023-07-10 20:19:57 -07:00
EugeneTorap 117435f0d8 chore: update UI dev libs and fix warnings & vulnerabilities (#24648) 2023-07-10 20:44:35 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 7b957369fc build(deps): bump semver from 5.7.1 to 5.7.2 in /docs (#24651)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 20:36:36 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fbe49c21a2 build(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /superset-embedded-sdk (#24634)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 20:36:18 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 294e522c09 build(deps): bump jsonwebtoken from 9.0.0 to 9.0.1 in /superset-websocket (#24614)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 20:35:53 -06:00
Daniel Vaz Gaspar 4881328fbf fix: CSP, bump FAB to 4.3.4 (#24646) 2023-07-10 20:09:50 +01:00
Hugh A. Miles II e6e8276a20 fix: fix extra insert for count on dataset creation (#24625) 2023-07-10 12:55:11 -04:00
Kamil Gabryjelski fe2c14ff3a fix: Ensure metrics is an array in Mixed Chart (#24643) 2023-07-10 18:04:38 +02:00
Daniel Vaz Gaspar b809815436 fix: remove spaces and EOL from nonce attr (#24644) 2023-07-10 16:21:45 +01:00
VED PRAKASH KASHYAP d2489c5ac7 docs(frontend): Fixed typo in command (#23987) 2023-07-10 08:42:29 -06:00
Devon Kinghorn fe9b0bf29b docs: correct databricks pip package name (#23992) 2023-07-10 08:41:29 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 5097688e6c build(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /superset-websocket (#24632)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 08:40:30 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6e2c5e0af4 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.1 to 5.61.0 in /superset-websocket (#24585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 08:39:39 -06:00
Michael S. Molina c53b249998 fix: Wrong positioning of filter tooltips on scroll (#24617) 2023-07-07 15:33:39 -03:00
Kamil Gabryjelski d74d7eca23 feat: Implement support for currencies in more charts (#24594) 2023-07-07 19:28:13 +02:00
Hugh A. Miles II c573cfcd12 fix: change naming convention for count metric on Dataset creation (#24609) 2023-07-07 13:08:27 -04:00
Gyuil Han a6e749da87 chore: remove underscore from builtin_time_grains label (#24567) 2023-07-07 10:43:49 -03:00
Michael S. Molina 781a20423a fix: Incorrect dependency between filters related feature flags (#24608) 2023-07-07 09:44:33 -03:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 572562719e build(deps-dev): bump eslint from 8.43.0 to 8.44.0 in /superset-websocket (#24576)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 21:46:25 -06:00
Beto Dealmeida 93ba4ade09 fix(report): edit without custom width (#24612) 2023-07-06 19:48:33 -07:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 333a5a6fef build(deps-dev): bump @types/node from 20.3.2 to 20.4.0 in /superset-websocket (#24601)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 15:23:04 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 3f6920a4ad build(deps-dev): bump @typescript-eslint/parser from 5.60.1 to 5.61.0 in /superset-websocket (#24584)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 15:22:17 -06:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ec2007577b build(deps): bump jsonwebtoken from 9.0.0 to 9.0.1 in /superset-websocket/utils/client-ws-app (#24600)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 15:21:55 -06:00
Antonio Rivero 6657353bca feat(database): Database Filtering via custom configuration (#24580) 2023-07-06 16:48:46 -04:00
Hugh A. Miles II d041648ad4 fix(ssh): Editting Database w/ SSH Tunneling (#24552) 2023-07-06 15:43:55 -04:00
jwilliams-ocient 64d728f80f fix: set max version for pyocient (#24556) 2023-07-06 13:28:03 -03:00
John BodleyandMichael S. Molina 7409289762 chore(dao): Condense delete/bulk-delete operations (#24466)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-07-06 09:21:08 -07:00
Javier Lopez 52ab974bff docs(helm): reference the correct chart (#24570) 2023-07-06 08:13:44 -07:00
Changhoon OhandMichael S. Molina ce96deb331 docs: add notice not to use gevent worker with bigquery datasource (#24564)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-07-06 08:48:04 -03:00
cwegener 7081a0e73d refactor: pkg_resources -> importlib.resources (#24578) 2023-07-05 14:26:07 -07:00
John Bodley 383dac6a5e fix: Bump prophet, re-enable tests, and remedy column eligibility logic (#24129) 2023-07-05 12:33:52 -07:00
JUST.in DO ITandJustin Park 0836000f9f chore(sqllab): Log current local storage usage (#24554)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-05 09:33:08 -07:00
Michael S. Molina 04ae259f3d fix: Clicking on a tag in the dashboard and charts lists does not work (#24593) 2023-07-05 12:58:44 -03:00
Ville Brofeldt a4880cabd4 chore(metastore-cache): add codec support (#24586) 2023-07-04 15:55:22 +03:00
Hugh A. Miles II 226c7f807d fix: SSH Tunnel creation with dynamic form (#24196) 2023-07-02 23:48:48 -04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 946aacc12e build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.0 to 5.60.1 in /superset-websocket (#24523)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-01 22:17:24 -06:00
1719 changed files with 74804 additions and 54743 deletions
+1 -1
View File
@@ -24,6 +24,6 @@
/superset-frontend/cypress-base/ @jinghua-qa @geido @eschutho @rusackas @betodealmeida
# Notify PMC members of changes to Github Actions
# Notify PMC members of changes to GitHub Actions
/.github/ @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @john-bodley @kgabryje
-49
View File
@@ -1,49 +0,0 @@
---
name: Bug report
about: "Create a report to help us improve Superset's stability! For feature requests please open a discussion [here](https://github.com/apache/superset/discussions/categories/ideas)."
labels: bug
---
A clear and concise description of what the bug is.
#### How to reproduce the bug
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
### Expected results
what you expected to happen.
### Actual results
what actually happens.
#### Screenshots
If applicable, add screenshots to help explain your problem.
### Environment
(please complete the following information):
- browser type and version:
- superset version: `superset version`
- python version: `python --version`
- node.js version: `node -v`
- any feature flags active:
### Checklist
Make sure to follow these steps before submitting your issue - thank you!
- [ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
- [ ] I have reproduced the issue with at least the latest released version of superset.
- [ ] I have checked the issue tracker for the same issue and I haven't found one similar.
### Additional context
Add any other context about the problem here.
+103
View File
@@ -0,0 +1,103 @@
name: Bug report
description: Report a bug to improve Superset's stability
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Hello Superset Community member! Please keep things tidy by putting your post in the proper place:
🐛 Reporting a bug: use this form.
🙏 Asking a question or getting help: post in the [Superset Slack chat](http://bit.ly/join-superset-slack) or [GitHub Discussions](https://github.com/apache/superset/discussions) under "Q&A / Help".
💡 Requesting a new feature: Search [GitHub Discussions](https://github.com/apache/superset/discussions) to see if it exists already. If not, add a new post there under "Ideas".
- type: textarea
id: bug-description
attributes:
label: Bug description
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: How to reproduce the bug
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: screenshots-recordings
attributes:
label: Screenshots/recordings
description: If applicable, add screenshots or recordings to help explain your problem.
- type: markdown
attributes:
value: |
### Environment
Please specify your environment. If your environment does not match the alternatives, you need to upgrade your environment before submitting the issue as it may have already been fixed. For additional information about the releases, see [Release Process](https://github.com/apache/superset/wiki/Release-Process).
- type: dropdown
id: superset-version
attributes:
label: Superset version
options:
- master / latest-dev
- "3.1.0"
- "3.0.3"
validations:
required: true
- type: dropdown
id: python-version
attributes:
label: Python version
options:
- "3.9"
- "3.10"
- "3.11"
- Not applicable
- I don't know
validations:
required: true
- type: dropdown
id: node-version
attributes:
label: Node version
options:
- "16"
- "17"
- "18 or greater"
- Not applicable
- I don't know
validations:
required: true
- type: dropdown
id: browser
attributes:
label: Browser
options:
- Chrome
- Firefox
- Safari
- Not applicable
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
description: |
Add any other context about the problem here such as the feature flags that you have enabled, any customizations you have made, the data source you are querying, etc.
- type: checkboxes
id: checklist
attributes:
label: Checklist
description: Make sure to follow these steps before submitting your issue - thank you!
options:
- label: I have searched Superset docs and Slack and didn't find a solution to my problem.
- label: I have searched the GitHub issue tracker and didn't find a similar bug report.
- label: I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
validations:
required: true
+12
View File
@@ -0,0 +1,12 @@
---
blank_issues_enabled: false
contact_links:
- name: Feature Request
url: https://github.com/apache/superset/discussions/new?category=ideas
about: Propose a feature request to the Superset community
- name: Q&A
url: https://github.com/apache/superset/discussions/new?category=q-a-help
about: Open a community Q&A thread on GitHub Discussions
- name: Slack
url: https://bit.ly/join-superset-slack
about: Join the Superset Community on Slack for other discussions and assistance
+3 -3
View File
@@ -1,13 +1,13 @@
---
name: SIP
about: "Superset Improvement Proposal. See [here](https://github.com/apache/superset/issues/5602) for details."
about: "Superset Improvement Proposal. See SIP-0 (https://github.com/apache/superset/issues/5602) for details. A SIP introduces any major change into Apache Superset's code or process."
labels: sip
title: "[SIP] Your Title Here (do not add SIP number)"
asignees: "apache/superset-committers"
assignees: "apache/superset-committers"
---
*Please make sure you are familiar with the SIP process documented*
(here)[https://github.com/apache/superset/issues/5602]. The SIP will be numbered by a committer upon acceptance.
[here](https://github.com/apache/superset/issues/5602). The SIP will be numbered by a committer upon acceptance.
## [SIP] Proposal for ...<title>
+38
View File
@@ -0,0 +1,38 @@
# Security Policy
This is a project of the [Apache Software Foundation](https://apache.org) and follows the
ASF [vulnerability handling process](https://apache.org/security/#vulnerability-handling).
## Reporting Vulnerabilities
**⚠️ Please do not file GitHub issues for security vulnerabilities as they are public! ⚠️**
Apache Software Foundation takes a rigorous standpoint in annihilating the security issues
in its software projects. Apache Superset is highly sensitive and forthcoming to issues
pertaining to its features and functionality.
If you have any concern or believe you have found a vulnerability in Apache Superset,
please get in touch with the Apache Superset Security Team privately at
e-mail address [security@superset.apache.org](mailto:security@superset.apache.org).
More details can be found on the ASF website at
[ASF vulnerability reporting process](https://apache.org/security/#reporting-a-vulnerability)
We kindly ask you to include the following information in your report:
- Apache Superset version that you are using
- A sanitized copy of your `superset_config.py` file or any config overrides
- Detailed steps to reproduce the vulnerability
Note that Apache Superset is not responsible for any third-party dependencies that may
have security issues. Any vulnerabilities found in third-party dependencies should be
reported to the maintainers of those projects. Results from security scans of Apache
Superset dependencies found on its official Docker image can be remediated at release time
by extending the image itself.
**Your responsible disclosure and collaboration are invaluable.**
## Extra Information
- [Apache Superset documentation](https://superset.apache.org/docs/security)
- [Common Vulnerabilities and Exposures by release](https://superset.apache.org/docs/security/cves)
- [How Security Vulnerabilities are Reported & Handled in Apache Superset (Blog)](https://preset.io/blog/how-security-vulnerabilities-are-reported-and-handled-in-apache-superset/)
+332 -8
View File
@@ -3,38 +3,40 @@ updates:
- package-ecosystem: "npm"
directory: "/superset-frontend/"
schedule:
interval: "daily"
interval: "weekly"
labels:
- npm
- dependabot
open-pull-requests-limit: 30
versioning-strategy: increase
- package-ecosystem: "pip"
directory: "/requirements/"
schedule:
interval: "daily"
interval: "weekly"
labels:
- pip
- dependabot
open-pull-requests-limit: 30
- package-ecosystem: "npm"
directory: ".github/actions"
schedule:
interval: "daily"
open-pull-requests-limit: 0
interval: "weekly"
open-pull-requests-limit: 10
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/docs/"
schedule:
interval: "daily"
open-pull-requests-limit: 0
interval: "weekly"
open-pull-requests-limit: 10
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-websocket/"
schedule:
interval: "daily"
interval: "weekly"
labels:
- npm
- dependabot
@@ -43,8 +45,330 @@ updates:
- package-ecosystem: "npm"
directory: "/superset-websocket/utils/client-ws-app/"
schedule:
interval: "daily"
interval: "weekly"
labels:
- npm
- dependabot
open-pull-requests-limit: 10
versioning-strategy: increase
# Now for all of our plugins and packages!
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-calendar/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-histogram/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-partition/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-world-map/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-pivot-table/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-chord/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-horizon/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-rose/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-preset-chart-deckgl/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-table/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-country-map/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-map-box/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-sankey/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-preset-chart-nvd3/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-word-cloud/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-event-flow/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-echarts/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/preset-chart-xy/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-heatmap/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-sunburst/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-handlebars/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/generator-superset/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-chart-controls/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-core/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-demo/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-switchboard/"
schedule:
interval: "weekly"
labels:
- npm
- dependabot
- plugins
open-pull-requests-limit: 5
versioning-strategy: increase
+1 -1
View File
@@ -1,5 +1,5 @@
# .github/workflows/chromatic.yml
# seee https://www.chromatic.com/docs/github-actions
# see https://www.chromatic.com/docs/github-actions
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
+2 -2
View File
@@ -174,7 +174,7 @@ cat << EOF
-c Move discovered coverage reports to the trash
-z FILE Upload specified file directly to Codecov and bypass all report generation.
This is inteded to be used only with a pre-formatted Codecov report and is not
This is intended to be used only with a pre-formatted Codecov report and is not
expected to work under any other circumstances.
-Z Exit with 1 if not successful. Default will Exit with 0
@@ -1152,7 +1152,7 @@ fi
if [ "$ft_search" = "1" ];
then
# detect bower comoponents location
# detect bower components location
bower_components="bower_components"
bower_rc=$(cd "$git_root" && cat .bowerrc 2>/dev/null || echo "")
if [ "$bower_rc" != "" ];
+4 -4
View File
@@ -4,7 +4,7 @@
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency Review'
name: "Dependency Review"
on: [pull_request]
permissions:
@@ -14,12 +14,12 @@ jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
- name: "Checkout Repository"
uses: actions/checkout@v3
- name: 'Dependency Review'
- name: "Dependency Review"
uses: actions/dependency-review-action@v2
with:
fail-on-severity: high
fail-on-severity: critical
# compatible/incompatible licenses addressed here: https://www.apache.org/legal/resolved.html
# find SPDX identifiers here: https://spdx.org/licenses/
deny-licenses: MS-LPL, BUSL-1.1, QPL-1.0, Sleepycat, SSPL-1.0, CPOL-1.02, AGPL-3.0, GPL-1.0+, BSD-4-Clause-UC, NPL-1.0, NPL-1.1, JSON
-100
View File
@@ -1,100 +0,0 @@
name: Push ephemeral env image
on:
workflow_run:
workflows: ["Docker"]
types:
- completed
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success'
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.AWS_ACCESS_KEY_ID != '' &&
secrets.AWS_ACCESS_KEY_ID != '' &&
secrets.AWS_SECRET_ACCESS_KEY != '' &&
secrets.AWS_SECRET_ACCESS_KEY != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
echo "has secrets!"
else
echo "has-secrets=0" >> "$GITHUB_OUTPUT"
echo "no secrets!"
fi
docker_ephemeral_env:
needs: config
if: needs.config.outputs.has-secrets
name: Push ephemeral env Docker image to ECR
runs-on: ubuntu-latest
steps:
- name: "Download artifact"
uses: actions/github-script@v3.1.0
with:
script: |
const artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{ github.event.workflow_run.id }},
});
core.info('*** artifacts')
core.info(JSON.stringify(artifacts))
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "build"
})[0];
if(!matchArtifact) return core.setFailed("Build artifacts not found")
const download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/build.zip', Buffer.from(download.data));
- run: unzip build.zip
- name: Display downloaded files (debug)
run: ls -la
- name: Get SHA
id: get-sha
run: echo "::set-output name=sha::$(cat ./SHA)"
- name: Get PR
id: get-pr
run: echo "::set-output name=num::$(cat ./PR-NUM)"
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Load, tag and push image to ECR
id: push-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: superset-ci
SHA: ${{ steps.get-sha.outputs.sha }}
IMAGE_TAG: pr-${{ steps.get-pr.outputs.num }}
run: |
docker load < $SHA.tar.gz
docker tag $SHA $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
docker tag $SHA $ECR_REGISTRY/$ECR_REPOSITORY:$SHA
docker push -a $ECR_REGISTRY/$ECR_REPOSITORY
+16 -4
View File
@@ -6,7 +6,6 @@ on:
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.pull_request.draft == false
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -23,16 +22,29 @@ jobs:
if: needs.config.outputs.has-secrets
name: docker-release
runs-on: ubuntu-latest
strategy:
matrix:
target: ["dev", "lean", "lean310", "websocket", "dockerize"]
platform: ["linux/amd64", "linux/arm64"]
fail-fast: false
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
ref: ${{ github.ref }}
- shell: bash
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker Image
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
.github/workflows/docker_build_push.sh
GITHUB_RELEASE_TAG_NAME="${{ github.event.release.tag_name }}"
./scripts/docker_build_push.sh "$GITHUB_RELEASE_TAG_NAME" ${{ matrix.target }} ${{ matrix.platform }}
+45 -11
View File
@@ -10,7 +10,6 @@ on:
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.pull_request.draft == false
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -25,24 +24,52 @@ jobs:
echo "has-secrets=0" >> "$GITHUB_OUTPUT"
echo "no secrets!"
fi
docker-build:
needs: config
if: needs.config.outputs.has-secrets
name: docker-build
runs-on: ubuntu-latest
strategy:
matrix:
target: ["dev", "lean", "lean310", "websocket", "dockerize"]
platform: ["linux/amd64", "linux/arm64"]
fail-fast: false
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker Image
shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
./scripts/docker_build_push.sh "" ${{ matrix.target }} ${{ matrix.platform }}
ephemeral-docker-build:
needs: config
if: needs.config.outputs.has-secrets
name: docker-build
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
persist-credentials: false
- shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
.github/workflows/docker_build_push.sh
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build ephemeral env image
if: github.event_name == 'pull_request'
@@ -50,12 +77,19 @@ jobs:
mkdir -p ./build
echo ${{ github.sha }} > ./build/SHA
echo ${{ github.event.pull_request.number }} > ./build/PR-NUM
DOCKER_BUILDKIT=1 docker build --target ci -t ${{ github.sha }} -t "pr-${{ github.event.pull_request.number }}" .
docker buildx build --target ci \
--load \
--cache-from=type=registry,ref=apache/superset:lean \
-t ${{ github.sha }} \
-t "pr-${{ github.event.pull_request.number }}" \
--platform linux/amd64 \
--label "build_actor=${GITHUB_ACTOR}" \
.
docker save ${{ github.sha }} | gzip > ./build/${{ github.sha }}.tar.gz
- name: Upload build artifacts
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build
path: build/
-118
View File
@@ -1,118 +0,0 @@
#!/usr/bin/env bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
set -eo pipefail
SHA=$(git rev-parse HEAD)
REPO_NAME="apache/superset"
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
REFSPEC=$(echo "${GITHUB_HEAD_REF}" | sed 's/[^a-zA-Z0-9]/-/g' | head -c 40)
PR_NUM=$(echo "${GITHUB_REF}" | sed 's:refs/pull/::' | sed 's:/merge::')
LATEST_TAG="pr-${PR_NUM}"
elif [[ "${GITHUB_EVENT_NAME}" == "release" ]]; then
REFSPEC=$(echo "${GITHUB_REF}" | sed 's:refs/tags/::' | head -c 40)
LATEST_TAG="${REFSPEC}"
else
REFSPEC=$(echo "${GITHUB_REF}" | sed 's:refs/heads/::' | sed 's/[^a-zA-Z0-9]/-/g' | head -c 40)
LATEST_TAG="${REFSPEC}"
fi
if [[ "${REFSPEC}" == "master" ]]; then
LATEST_TAG="latest"
fi
cat<<EOF
Rolling with tags:
- ${REPO_NAME}:${SHA}
- ${REPO_NAME}:${REFSPEC}
- ${REPO_NAME}:${LATEST_TAG}
EOF
#
# Build the "lean" image
#
DOCKER_BUILDKIT=1 docker build --target lean \
-t "${REPO_NAME}:${SHA}" \
-t "${REPO_NAME}:${REFSPEC}" \
-t "${REPO_NAME}:${LATEST_TAG}" \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=lean" \
--label "build_actor=${GITHUB_ACTOR}" \
.
#
# Build the "lean310" image
#
DOCKER_BUILDKIT=1 docker build --target lean \
-t "${REPO_NAME}:${SHA}-py310" \
-t "${REPO_NAME}:${REFSPEC}-py310" \
-t "${REPO_NAME}:${LATEST_TAG}-py310" \
--build-arg PY_VER="3.10-slim-bookworm"\
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=lean310" \
--label "build_actor=${GITHUB_ACTOR}" \
.
#
# Build the "websocket" image
#
DOCKER_BUILDKIT=1 docker build \
-t "${REPO_NAME}:${SHA}-websocket" \
-t "${REPO_NAME}:${REFSPEC}-websocket" \
-t "${REPO_NAME}:${LATEST_TAG}-websocket" \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=websocket" \
--label "build_actor=${GITHUB_ACTOR}" \
superset-websocket
#
# Build the dev image
#
DOCKER_BUILDKIT=1 docker build --target dev \
-t "${REPO_NAME}:${SHA}-dev" \
-t "${REPO_NAME}:${REFSPEC}-dev" \
-t "${REPO_NAME}:${LATEST_TAG}-dev" \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=dev" \
--label "build_actor=${GITHUB_ACTOR}" \
.
#
# Build the dockerize image
#
DOCKER_BUILDKIT=1 docker build \
-t "${REPO_NAME}:dockerize" \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "build_actor=${GITHUB_ACTOR}" \
-f dockerize.Dockerfile \
.
if [ -z "${DOCKERHUB_TOKEN}" ]; then
# Skip if secrets aren't populated -- they're only visible for actions running in the repo (not on forks)
echo "Skipping Docker push"
else
# Login and push
docker logout
docker login --username "${DOCKERHUB_USER}" --password "${DOCKERHUB_TOKEN}"
docker push --all-tags "${REPO_NAME}"
fi
+6 -2
View File
@@ -25,8 +25,12 @@
"value": "8080"
},
{
"name": "SUPERSET_SECRET_KEY",
"value": "super-secret-for-ephemerals"
"name": "SUPERSET_SECRET_KEY",
"value": "super-secret-for-ephemerals"
},
{
"name": "TALISMAN_ENABLED",
"value": "False"
}
],
"mountPoints": [],
-1
View File
@@ -8,7 +8,6 @@ on:
jobs:
embedded-sdk-test:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
defaults:
run:
+74
View File
@@ -79,6 +79,80 @@ jobs:
})
core.setFailed(errMsg)
docker_ephemeral_env:
needs: config
if: needs.config.outputs.has-secrets
name: Push ephemeral env Docker image to ECR
runs-on: ubuntu-latest
steps:
- name: "Download artifact"
uses: actions/github-script@v3.1.0
with:
script: |
const artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{ github.event.workflow_run.id }},
});
core.info('*** artifacts')
core.info(JSON.stringify(artifacts))
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name === "build";
});
if (!matchArtifact.length) {
return core.setFailed("Build artifacts not found");
}
const download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact[0].id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/build.zip', Buffer.from(download.data));
- run: unzip build.zip
- name: Display downloaded files (debug)
run: ls -la
- name: Get SHA
id: get-sha
run: echo "::set-output name=sha::$(cat ./SHA)"
- name: Get PR
id: get-pr
run: echo "::set-output name=num::$(cat ./PR-NUM)"
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Load, tag and push image to ECR
id: push-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: superset-ci
SHA: ${{ steps.get-sha.outputs.sha }}
IMAGE_TAG: pr-${{ steps.get-pr.outputs.num }}
run: |
docker load < $SHA.tar.gz
docker tag $SHA $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
docker tag $SHA $ECR_REGISTRY/$ECR_REPOSITORY:$SHA
docker push -a $ECR_REGISTRY/$ECR_REPOSITORY
ephemeral_env_up:
needs: ephemeral_env_comment
if: needs.ephemeral_env_comment.outputs.slash-command == 'up'
+25
View File
@@ -0,0 +1,25 @@
name: Label Migration PR
on:
pull_request:
paths:
- 'superset/migrations/**'
jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Add label
uses: actions/github-script@v3
with:
github-token: ${{github.token}}
script: |
github.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['risk:db-migration']
})
+2 -2
View File
@@ -1,4 +1,4 @@
name: Prefer Typescript
name: Prefer TypeScript
on:
push:
@@ -9,7 +9,7 @@ on:
jobs:
prefer_typescript:
if: github.ref == 'ref/heads/master' && github.event_name == 'pull_request'
name: Prefer Typescript
name: Prefer TypeScript
runs-on: ubuntu-latest
permissions:
contents: read
@@ -40,7 +40,7 @@ jobs:
APPLITOOLS_BATCH_NAME: Superset Cypress
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
+1 -2
View File
@@ -9,7 +9,6 @@ on:
jobs:
test-load-examples:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -21,7 +20,7 @@ jobs:
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
+1 -2
View File
@@ -11,7 +11,6 @@ on:
jobs:
cypress-matrix:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
permissions:
contents: read
@@ -34,7 +33,7 @@ jobs:
GITHUB_TOKEN: ${{ github.token }}
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
-1
View File
@@ -10,7 +10,6 @@ on:
jobs:
frontend-build:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
@@ -10,7 +10,6 @@ on:
jobs:
test-mysql:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -76,7 +75,6 @@ jobs:
bash .github/workflows/codecov.sh -c -F python -F mysql
test-postgres:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -88,7 +86,7 @@ jobs:
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -143,7 +141,6 @@ jobs:
bash .github/workflows/codecov.sh -c -F python -F postgres
test-sqlite:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -153,7 +150,9 @@ jobs:
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: |
sqlite:///${{ github.workspace }}/.temp/unittest.db
sqlite:///${{ github.workspace }}/.temp/superset.db?check_same_thread=true
SUPERSET__SQLALCHEMY_EXAMPLES_URI: |
sqlite:///${{ github.workspace }}/.temp/examples.db?check_same_thread=true
services:
redis:
image: redis:7-alpine
+6 -4
View File
@@ -10,7 +10,6 @@ on:
jobs:
python-lint:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -50,7 +49,6 @@ jobs:
run: pylint -j 0 superset
pre-commit:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -88,10 +86,14 @@ jobs:
echo "HOMEBREW_REPOSITORY=$HOMEBREW_REPOSITORY" >>"${GITHUB_ENV}"
brew install norwoodj/tap/helm-docs
- name: pre-commit
run: pre-commit run --all-files
run: |
if ! pre-commit run --all-files; then
git status
git diff
exit 1
fi
babel-extract:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -10,7 +10,6 @@ on:
jobs:
test-postgres-presto:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -23,7 +22,7 @@ jobs:
SUPERSET__SQLALCHEMY_EXAMPLES_URI: presto://localhost:15433/memory/default
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -87,7 +86,6 @@ jobs:
bash .github/workflows/codecov.sh -c -F python -F presto
test-postgres-hive:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -101,7 +99,7 @@ jobs:
UPLOAD_FOLDER: /tmp/.superset/uploads/
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -134,7 +132,7 @@ jobs:
run: sudo chown -R $USER:$USER /tmp/.superset
- name: Start hadoop and hive
if: steps.check.outcome == 'failure'
run: docker-compose -f scripts/databases/hive/docker-compose.yml up -d
run: docker compose -f scripts/databases/hive/docker-compose.yml up -d
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v4
@@ -10,7 +10,6 @@ on:
jobs:
unit-tests:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -9,7 +9,6 @@ on:
jobs:
frontend-check:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
@@ -31,7 +30,6 @@ jobs:
npm run check-translation
babel-extract:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
-1
View File
@@ -9,7 +9,6 @@ on:
jobs:
app-checks:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
+1
View File
@@ -59,6 +59,7 @@ superset/bin/supersetc
tmp
rat-results.txt
superset/app/
superset-websocket/config.json
# Node.js, webpack artifacts, storybook
*.entry.js
+4 -3
View File
@@ -42,12 +42,13 @@ repos:
hooks:
- id: mypy
args: [--check-untyped-defs]
additional_dependencies:
[
additional_dependencies: [
types-simplejson,
types-python-dateutil,
types-requests,
types-redis,
# types-redis 4.6.0.5 is failing mypy
# because of https://github.com/python/typeshed/pull/10531
types-redis==4.6.0.4,
types-pytz,
types-croniter,
types-PyYAML,
+3 -54
View File
@@ -50,15 +50,6 @@ unsafe-load-any-extension=no
# run arbitrary code
extension-pkg-whitelist=pyarrow
# Allow optimization of some AST trees. This will activate a peephole AST
# optimizer, which will apply various small optimizations. For instance, it can
# be used to obtain the result of joining multiple strings with the addition
# operator. Joining a lot of strings can lead to a maximum recursion error in
# Pylint and this flag can prevent that. It has one side effect, the resulting
# AST will be different than the one from reality. This option is deprecated
# and it will be removed in Pylint 2.0.
optimize-ast=no
[MESSAGES CONTROL]
@@ -83,11 +74,11 @@ enable=
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=
cyclic-import, # re-enable once this no longer raises false positives
missing-docstring,
duplicate-code,
unspecified-encoding,
# re-enable once this no longer raises false positives
too-many-instance-attributes
too-many-instance-attributes # re-enable once this no longer raises false positives
[REPORTS]
@@ -96,12 +87,6 @@ disable=
# mypackage.mymodule.MyReporterClass.
output-format=text
# Put messages in a separate file for each module / package specified on the
# command line instead of printing them on stdout. Reports (if any) will be
# written in a file name "pylint_global.[txt|html]". This option is deprecated
# and it will be removed in Pylint 2.0.
files-output=no
# Tells whether to display a full report or only the messages
reports=yes
@@ -141,63 +126,33 @@ property-classes=
# Regular expression matching correct argument names
argument-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for argument names
argument-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct method names
method-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for method names
method-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct variable names
variable-rgx=[a-z_][a-z0-9_]{1,30}$
# Naming hint for variable names
variable-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
# Naming hint for inline iteration names
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
# Regular expression matching correct constant names
const-rgx=(([A-Za-z_][A-Za-z0-9_]*)|(__.*__))$
# Naming hint for constant names
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
# Naming hint for class names
class-name-hint=[A-Z_][a-zA-Z0-9]+$
# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Naming hint for class attribute names
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Naming hint for module names
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Regular expression matching correct attribute names
attr-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for attribute names
attr-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct function names
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for function names
function-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
@@ -225,12 +180,6 @@ ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# else.
single-line-if-stmt=no
# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,dict-separator
# Maximum number of lines in a module
max-module-lines=1000
@@ -427,4 +376,4 @@ analyse-fallback-blocks=no
# Exceptions that will emit a warning when being caught. Defaults to
# "Exception"
overgeneral-exceptions=Exception
overgeneral-exceptions=builtins.Exception
+1468 -44
View File
File diff suppressed because it is too large Load Diff
+6 -4
View File
@@ -119,11 +119,13 @@ If you decide to join the [Community Slack](http://bit.ly/join-superset-slack),
**3. Ask thoughtful questions.**
- Were all here to help each other out. The best way to get help is by investing effort into your questions. First check and see if your question is answered in [the Superset documentation](https://superset.apache.org/faq.html) or on [Stack Overflow](https://stackoverflow.com/search?q=apache+superset). You can also check [GitHub issues](https://github.com/apache/superset/issues) to see if your question or feature request has been submitted before. Then, use Slack search to see if your question has already been asked and answered in the past. If you still feel the need to ask a question, make sure you include:
- Were all here to help each other out. The best way to get help is by investing effort into your questions. First check and see if your question is answered in the [Superset documentation](https://superset.apache.org/faq.html) or on [StackOverflow](https://stackoverflow.com/questions/tagged/apache-superset). You can also check GitHub trackers to see if your inquiry has been submitted before: [GitHub discussions](https://github.com/apache/superset/discussions) for questions and feature requests and [GitHub issues](https://github.com/apache/superset/issues) for bug reports. Then, use Slack search to see if your question has already been asked and answered in the past.
- The steps youve already taken
- Relevant details presented cleanly (text stacktraces, formatted markdown, or screenshots. Please dont paste large blocks of code unformatted or post photos of your screen from your phone)
- The specific question you have or the specific type of help you're seeking
If you still feel the need to ask a question, make sure you include:
- The steps youve already taken.
- Relevant details presented cleanly: text stacktraces, formatted markdown, or screenshots. Please dont paste large blocks of code unformatted or post photos of your screen from your phone.
- The specific question you have or the specific type of help you're seeking.
**4. Avoid double posting**
+138 -70
View File
@@ -66,7 +66,7 @@ little bit helps, and credit will always be given.
- [Build assets](#build-assets)
- [Webpack dev server](#webpack-dev-server)
- [Other npm commands](#other-npm-commands)
- [Docker (docker-compose)](#docker-docker-compose)
- [Docker (docker compose)](#docker-docker-compose)
- [Updating NPM packages](#updating-npm-packages)
- [Feature flags](#feature-flags)
- [Git Hooks](#git-hooks)
@@ -138,7 +138,7 @@ The best way to report a bug is to file an issue on GitHub. Please include:
When posting Python stack traces, please quote them using
[Markdown blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/).
_Please note that feature requests opened as Github Issues will be moved to Discussions._
_Please note that feature requests opened as GitHub Issues will be moved to Discussions._
### Submit Ideas or Feature Requests
@@ -170,7 +170,7 @@ articles. See [Documentation](#documentation) for more details.
### Add Translations
If you are proficient in a non-English language, you can help translate
text strings from Superset's UI. You can jump in to the existing
text strings from Superset's UI. You can jump into the existing
language dictionaries at
`superset/translations/<language_code>/LC_MESSAGES/messages.po`, or
even create a dictionary for a new language altogether.
@@ -180,6 +180,51 @@ See [Translating](#translating) for more details.
There is a dedicated [`apache-superset` tag](https://stackoverflow.com/questions/tagged/apache-superset) on [StackOverflow](https://stackoverflow.com/). Please use it when asking questions.
## Types of Contributors
Following the project governance model of the Apache Software Foundation (ASF), Apache Superset has a specific set of contributor roles:
### PMC Member
A Project Management Committee (PMC) member is a person who has been elected by the PMC to help manage the project. PMC members are responsible for the overall health of the project, including community development, release management, and project governance. PMC members are also responsible for the technical direction of the project.
For more information about Apache Project PMCs, please refer to https://www.apache.org/foundation/governance/pmcs.html
### Committer
A committer is a person who has been elected by the PMC to have write access (commit access) to the code repository. They can modify the code, documentation, and website and accept contributions from others.
The official list of committers and PMC members can be found [here](https://projects.apache.org/committee.html?superset).
### Contributor
A contributor is a person who has contributed to the project in any way, including but not limited to code, tests, documentation, issues, and discussions.
> You can also review the Superset project's guidelines for PMC member promotion here: https://github.com/apache/superset/wiki/Guidelines-for-promoting-Superset-Committers-to-the-Superset-PMC
### Security Team
The security team is a selected subset of PMC members, committers and non-committers who are responsible for handling security issues.
New members of the security team are selected by the PMC members in a vote. You can request to be added to the team by sending a message to private@superset.apache.org. However, the team should be small and focused on solving security issues, so the requests will be evaluated on a case-by-case basis and the team size will be kept relatively small, limited to only actively security-focused contributors.
This security team must follow the [ASF vulnerability handling process](https://apache.org/security/committers.html#asf-project-security-for-committers).
Each new security issue is tracked as a JIRA ticket on the [ASF's JIRA Superset security project](https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=588&projectKey=SUPERSETSEC)
Security team members must:
- Have an [ICLA](https://www.apache.org/licenses/contributor-agreements.html) signed with Apache Software Foundation.
- Not reveal information about pending and unfixed security issues to anyone (including their employers) unless specifically authorised by the security team members, e.g., if the security team agrees that diagnosing and solving an issue requires the involvement of external experts.
A release manager, the contributor overseeing the release of a specific version of Apache Superset, is by default a member of the security team. However, they are not expected to be active in assessing, discussing, and fixing security issues.
Security team members should also follow these general expectations:
- Actively participate in assessing, discussing, fixing, and releasing security issues in Superset.
- Avoid discussing security fixes in public forums. Pull request (PR) descriptions should not contain any information about security issues. The corresponding JIRA ticket should contain a link to the PR.
- Security team members who contribute to a fix may be listed as remediation developers in the CVE report, along with their job affiliation (if they choose to include it).
## Pull Request Guidelines
A philosophy we would like to strongly encourage is
@@ -329,16 +374,16 @@ Triaging goals
First, add **Category labels (a.k.a. hash labels)**. Every issue/PR must have one hash label (except spam entry). Labels that begin with `#` defines issue/PR type:
| Label | for Issue | for PR |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `#bug` | Bug report | Bug fix |
| `#code-quality` | Describe problem with code, architecture or productivity | Refactor, tests, tooling |
| `#feature` | New feature request | New feature implementation |
| `#refine` | Propose improvement that does not provide new features and is also not a bug fix nor refactor, such as adjust padding, refine UI style. | Implementation of improvement that does not provide new features and is also not a bug fix nor refactor, such as adjust padding, refine UI style. |
| `#doc` | Documentation | Documentation |
| `#question` | Troubleshooting: Installation, Running locally, Ask how to do something. Can be changed to `#bug` later. | N/A |
| `#SIP` | Superset Improvement Proposal | N/A |
| `#ASF` | Tasks related to Apache Software Foundation policy | Tasks related to Apache Software Foundation policy |
| Label | for Issue | for PR |
| --------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `#bug` | Bug report | Bug fix |
| `#code-quality` | Describe problem with code, architecture or productivity | Refactor, tests, tooling |
| `#feature` | New feature request | New feature implementation |
| `#refine` | Propose improvement such as adjusting padding or refining UI style, excluding new features, bug fixes, and refactoring. | Implementation of improvement such as adjusting padding or refining UI style, excluding new features, bug fixes, and refactoring. |
| `#doc` | Documentation | Documentation |
| `#question` | Troubleshooting: Installation, Running locally, Ask how to do something. Can be changed to `#bug` later. | N/A |
| `#SIP` | Superset Improvement Proposal | N/A |
| `#ASF` | Tasks related to Apache Software Foundation policy | Tasks related to Apache Software Foundation policy |
Then add other types of labels as appropriate.
@@ -424,7 +469,7 @@ Commits to `master` trigger a rebuild and redeploy of the documentation site. Su
Make sure your machine meets the [OS dependencies](https://superset.apache.org/docs/installation/installing-superset-from-scratch#os-dependencies) before following these steps.
You also need to install MySQL or [MariaDB](https://mariadb.com/downloads).
Ensure that you are using Python version 3.8, 3.9, 3.10 or 3.11, then proceed with:
Ensure that you are using Python version 3.9, 3.10 or 3.11, then proceed with:
```bash
# Create a virtual environment and activate it (recommended)
@@ -577,6 +622,19 @@ cd superset-frontend
npm ci
```
Note that Superset uses [Scarf](https://docs.scarf.sh) to capture telemetry/analytics about versions being installed, including the `scarf-js` npm package and an analytics pixel. As noted elsewhere in this documentation, Scarf gathers aggregated stats for the sake of security/release strategy, and does not capture/retain PII. [You can read here](https://docs.scarf.sh/package-analytics/) about the `scarf-js` package, and various means to opt out of it, but you can opt out of the npm package _and_ the pixel by setting the `SCARF_ANALYTICS` envinronment variable to `false` or opt out of the pixel by adding this setting in `superset-frontent/package.json`:
```json
// your-package/package.json
{
// ...
"scarfSettings": {
"enabled": false
}
// ...
}
```
#### Build assets
There are three types of assets you can build:
@@ -585,13 +643,29 @@ There are three types of assets you can build:
2. `npm run dev-server`: local development assets, with sourcemaps and hot refresh support
3. `npm run build-instrumented`: instrumented application code for collecting code coverage from Cypress tests
If this type of error comes while building assets(i.e using above commands):
If while using the above commands you encounter an error related to the limit of file watchers:
```bash
Error: You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize
Error: ENOSPC: System limit for number of file watchers reached
```
Then put this:
The error is thrown because the number of files monitored by the system has reached the limit.
You can address this this error by increasing the number of inotify watchers.
The current value of max watches can be checked with:
```bash
export NODE_OPTIONS=--no-experimental-fetch
cat /proc/sys/fs/inotify/max_user_watches
```
Edit the file /etc/sysctl.conf to increase this value.
The value needs to be decided based on the system memory [(see this StackOverflow answer for more context)](https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux).
Open the file in editor and add a line at the bottom specifying the max watches values.
```bash
fs.inotify.max_user_watches=524288
```
Save the file and exit editor.
To confirm that the change succeeded, run the following command to load the updated value of max_user_watches from sysctl.conf:
```bash
sudo sysctl -p
```
#### Webpack dev server
@@ -636,7 +710,7 @@ Alternatively, there are other NPM commands you may find useful:
1. `npm run build-dev`: build assets in development mode.
2. `npm run dev`: built dev assets in watch mode, will automatically rebuild when a file changes
#### Docker (docker-compose)
#### Docker (docker compose)
See docs [here](docker/README.md)
@@ -704,7 +778,7 @@ We use [Pylint](https://pylint.org/) for linting which can be invoked via:
tox -e pylint
```
In terms of best practices please avoid blanket disablement of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disablement should occur inline as it prevents masking issues and provides context as to why said message is disabled.
In terms of best practices please avoid blanket disabling of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disabling should occur inline as it prevents masking issues and provides context as to why said message is disabled.
Additionally, the Python code is auto-formatted using [Black](https://github.com/python/black) which
is configured as a pre-commit hook. There are also numerous [editor integrations](https://black.readthedocs.io/en/stable/integrations/editors.html)
@@ -883,17 +957,17 @@ CYPRESS_BASE_URL=<your url> npm run cypress open
See [`superset-frontend/cypress_build.sh`](https://github.com/apache/superset/blob/master/superset-frontend/cypress_build.sh).
As an alternative you can use docker-compose environment for testing:
As an alternative you can use docker compose environment for testing:
Make sure you have added below line to your /etc/hosts file:
`127.0.0.1 db`
If you already have launched Docker environment please use the following command to assure a fresh database instance:
`docker-compose down -v`
`docker compose down -v`
Launch environment:
`CYPRESS_CONFIG=true docker-compose up`
`CYPRESS_CONFIG=true docker compose up`
It will serve backend and frontend on port 8088.
@@ -913,28 +987,22 @@ For debugging locally using VSCode, you can configure a launch configuration fil
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "superset",
"SUPERSET_ENV": "development"
},
"args": [
"run",
"-p 8088",
"--with-threads",
"--reload",
"--debugger"
],
"jinja": true,
"justMyCode": true
}
]
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "superset",
"SUPERSET_ENV": "development"
},
"args": ["run", "-p 8088", "--with-threads", "--reload", "--debugger"],
"jinja": true,
"justMyCode": true
}
]
}
```
@@ -966,7 +1034,7 @@ superset:
Start Superset as usual
```bash
docker-compose up
docker compose up
```
Install the required libraries and packages to the docker container
@@ -1019,24 +1087,24 @@ You are now ready to attach a debugger to the process. Using VSCode you can conf
```json
{
"version": "0.2.0",
"configurations": [
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Superset App in Docker Container",
"type": "python",
"request": "attach",
"connect": {
"host": "127.0.0.1",
"port": 5678
},
"pathMappings": [
{
"name": "Attach to Superset App in Docker Container",
"type": "python",
"request": "attach",
"connect": {
"host": "127.0.0.1",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app"
}
]
},
]
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app"
}
]
}
]
}
```
@@ -1201,7 +1269,7 @@ To contribute a plugin to Superset, your plugin must meet the following criteria
- The plugin should contain sufficient unit/e2e tests
- The plugin should use appropriate namespacing, e.g. a folder name of `plugin-chart-whatever` and a package name of `@superset-ui/plugin-chart-whatever`
- The plugin should use them variables via Emotion, as passed in by the ThemeProvider
- The plugin should provide adequate error handling (no data returned, malformatted data, invalid controls, etc.)
- The plugin should provide adequate error handling (no data returned, malformed data, invalid controls, etc.)
- The plugin should contain documentation in the form of a populated `README.md` file
- The plugin should have a meaningful and unique icon
- Above all else, the plugin should come with a _commitment to maintenance_ from the original author(s)
@@ -1337,7 +1405,7 @@ To do this, you'll need to:
but perfect for testing (stores cache in `/tmp`)
```python
from cachelib.file import FileSystemCache
from flask_caching.backends.filesystemcache import FileSystemCache
RESULTS_BACKEND = FileSystemCache('/tmp/sqllab')
```
@@ -1403,11 +1471,11 @@ Note not all fields are correctly categorized. The fields vary based on visualiz
### Time
| Field | Type | Notes |
| ------------------ | -------- | ------------------------------------- |
| `granularity_sqla` | _string_ | The SQLA **Time Column** widget |
| `time_grain_sqla` | _string_ | The SQLA **Time Grain** widget |
| `time_range` | _string_ | The **Time range** widget |
| Field | Type | Notes |
| ------------------ | -------- | ------------------------------- |
| `granularity_sqla` | _string_ | The SQLA **Time Column** widget |
| `time_grain_sqla` | _string_ | The SQLA **Time Grain** widget |
| `time_range` | _string_ | The **Time range** widget |
### GROUP BY
+39 -35
View File
@@ -22,25 +22,28 @@ ARG PY_VER=3.9-slim-bookworm
# if BUILDPLATFORM is null, set it to 'amd64' (or leave as is otherwise).
ARG BUILDPLATFORM=${BUILDPLATFORM:-amd64}
FROM --platform=${BUILDPLATFORM} node:16-slim AS superset-node
FROM --platform=${BUILDPLATFORM} node:16-bookworm-slim AS superset-node
ARG NPM_BUILD_CMD="build"
ENV BUILD_CMD=${NPM_BUILD_CMD}
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends \
build-essential \
python3
ENV BUILD_CMD=${NPM_BUILD_CMD} \
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
# NPM ci first, as to NOT invalidate previous steps except for when package.json changes
WORKDIR /app/superset-frontend
COPY ./docker/frontend-mem-nag.sh /
RUN --mount=type=bind,target=/frontend-mem-nag.sh,src=./docker/frontend-mem-nag.sh \
/frontend-mem-nag.sh
RUN /frontend-mem-nag.sh
COPY superset-frontend/package*.json ./
RUN npm ci
RUN --mount=type=bind,target=./package.json,src=./superset-frontend/package.json \
--mount=type=bind,target=./package-lock.json,src=./superset-frontend/package-lock.json \
npm ci
COPY ./superset-frontend ./
# This seems to be the most expensive step
RUN npm run ${BUILD_CMD}
@@ -58,10 +61,9 @@ ENV LANG=C.UTF-8 \
SUPERSET_HOME="/app/superset_home" \
SUPERSET_PORT=8088
RUN mkdir -p ${PYTHONPATH} \
RUN mkdir -p ${PYTHONPATH} superset/static superset-frontend apache_superset.egg-info requirements \
&& useradd --user-group -d ${SUPERSET_HOME} -m --no-log-init --shell /bin/bash superset \
&& apt-get update -q \
&& apt-get install -yq --no-install-recommends \
&& apt-get update -qq && apt-get install -yqq --no-install-recommends \
build-essential \
curl \
default-libmysqlclient-dev \
@@ -70,29 +72,31 @@ RUN mkdir -p ${PYTHONPATH} \
libpq-dev \
libecpg-dev \
libldap2-dev \
&& touch superset/static/version_info.json \
&& chown -R superset:superset ./* \
&& rm -rf /var/lib/apt/lists/*
COPY --chown=superset:superset ./requirements/*.txt requirements/
COPY --chown=superset:superset setup.py MANIFEST.in README.md ./
# setup.py uses the version information in package.json
COPY --chown=superset:superset superset-frontend/package.json superset-frontend/
RUN mkdir -p superset/static \
&& touch superset/static/version_info.json \
&& pip install --no-cache-dir -r requirements/local.txt
RUN --mount=type=bind,target=./requirements/local.txt,src=./requirements/local.txt \
--mount=type=bind,target=./requirements/development.txt,src=./requirements/development.txt \
--mount=type=bind,target=./requirements/base.txt,src=./requirements/base.txt \
--mount=type=cache,target=/root/.cache/pip \
pip install -r requirements/local.txt
COPY --chown=superset:superset --from=superset-node /app/superset/static/assets superset/static/assets
## Lastly, let's install superset itself
COPY --chown=superset:superset superset superset
RUN chown -R superset:superset ./* \
&& pip install --no-cache-dir -e . \
&& flask fab babel-compile --target superset/translations
RUN --mount=type=cache,target=/root/.cache/pip \
pip install -e . \
&& flask fab babel-compile --target superset/translations \
&& chown -R superset:superset superset/translations
COPY --chmod=755 ./docker/run-server.sh /usr/bin/
USER superset
HEALTHCHECK CMD curl -f "http://localhost:$SUPERSET_PORT/health"
HEALTHCHECK CMD curl -f "http://localhost:${SUPERSET_PORT}/health"
EXPOSE ${SUPERSET_PORT}
@@ -102,13 +106,13 @@ CMD ["/usr/bin/run-server.sh"]
# Dev image...
######################################################################
FROM lean AS dev
ARG GECKODRIVER_VERSION=v0.32.0
ARG FIREFOX_VERSION=106.0.3
ARG GECKODRIVER_VERSION=v0.33.0 \
FIREFOX_VERSION=117.0.1
USER root
RUN apt-get update -q \
&& apt-get install -yq --no-install-recommends \
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends \
libnss3 \
libdbus-glib-1-2 \
libgtk-3-0 \
@@ -117,16 +121,16 @@ RUN apt-get update -q \
libxtst6 \
wget \
# Install GeckoDriver WebDriver
&& wget https://github.com/mozilla/geckodriver/releases/download/${GECKODRIVER_VERSION}/geckodriver-${GECKODRIVER_VERSION}-linux64.tar.gz -O - | tar xfz - -C /usr/local/bin \
&& wget -q https://github.com/mozilla/geckodriver/releases/download/${GECKODRIVER_VERSION}/geckodriver-${GECKODRIVER_VERSION}-linux64.tar.gz -O - | tar xfz - -C /usr/local/bin \
# Install Firefox
&& wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 -O - | tar xfj - -C /opt \
&& wget -q https://download-installer.cdn.mozilla.net/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 -O - | tar xfj - -C /opt \
&& ln -s /opt/firefox/firefox /usr/local/bin/firefox \
&& apt-get autoremove -yqq --purge wget && rm -rf /var/lib/apt/lists/* && apt-get clean
COPY ./requirements/*.txt ./docker/requirements-*.txt/ /app/requirements/
&& apt-get autoremove -yqq --purge wget && rm -rf /var/[log,tmp]/* /tmp/* /var/lib/apt/lists/*
# Cache everything for dev purposes...
RUN pip install --no-cache-dir -r /app/requirements/docker.txt \
&& pip install --no-cache-dir -r /app/requirements/requirements-local.txt || true
RUN --mount=type=bind,target=./requirements/base.txt,src=./requirements/base.txt \
--mount=type=bind,target=./requirements/docker.txt,src=./requirements/docker.txt \
--mount=type=cache,target=/root/.cache/pip \
pip install -r requirements/docker.txt
USER superset
######################################################################
@@ -134,6 +138,6 @@ USER superset
######################################################################
FROM lean AS ci
COPY --chown=superset --chmod=755 ./docker/*.sh /app/docker/
COPY --chown=superset:superset --chmod=755 ./docker/*.sh /app/docker/
CMD ["/app/docker/docker-ci.sh"]
+26 -7
View File
@@ -28,11 +28,17 @@ under the License.
[![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](http://bit.ly/join-superset-slack)
[![Documentation](https://img.shields.io/badge/docs-apache.org-blue.svg)](https://superset.apache.org)
<img
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache.png"
alt="Superset"
width="500"
/>
<picture width="500">
<source
media="(prefers-color-scheme: dark)"
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache-dark.png"
alt="Superset logo (dark)"
/>
<img
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache.png"
alt="Superset logo (light)"
/>
</picture>
A modern, enterprise-ready business intelligence web application.
@@ -122,7 +128,9 @@ Here are some of the major database solutions that are supported:
<img src="superset-frontend/src/assets/images/pinot.png" alt="pinot" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/teradata.png" alt="teradata" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/yugabyte.png" alt="yugabyte" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/databend.png" alt="databend" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/starrocks.png" alt="starrocks" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/doris.png" alt="doris" border="0" width="200" height="80"/>
</p>
**A more comprehensive list of supported databases** along with the configuration instructions can be found [here](https://superset.apache.org/docs/databases/installing-database-drivers).
@@ -138,7 +146,9 @@ Want to add support for your datastore or data engine? Read more [here](https://
- Ask and answer questions on [StackOverflow](https://stackoverflow.com/questions/tagged/apache-superset) using the **apache-superset** tag
- [Join our community's Slack](http://bit.ly/join-superset-slack)
and please read our [Slack Community Guidelines](https://github.com/apache/superset/blob/master/CODE_OF_CONDUCT.md#slack-community-guidelines)
- [Join our dev@superset.apache.org Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
- [Join our dev@superset.apache.org Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org). To join, simply send an email to [dev-subscribe@superset.apache.org](mailto:dev-subscribe@superset.apache.org)
- If you want to help troubleshoot GitHub Issues involving the numerous database drivers that Superset supports, please consider adding your name and the databases you have access to on the [Superset Database Familiarity Rolodex](https://docs.google.com/spreadsheets/d/1U1qxiLvOX0kBTUGME1AHHi6Ywel6ECF8xk_Qy-V9R8c/edit#gid=0)
- Join Superset's Town Hall and [Operational Model](https://preset.io/blog/the-superset-operational-model-wants-you/) recurring meetings. Meeting info is available on the [Superset Community Calendar](https://superset.apache.org/community)
## Contributor Guide
@@ -149,6 +159,12 @@ how to set up a development environment.
## Resources
- [Superset "In the Wild"](RESOURCES/INTHEWILD.md) - open a PR to add your org to the list!
- [Feature Flags](RESOURCES/FEATURE_FLAGS.md) - the status of Superset's Feature Flags.
- [Standard Roles](RESOURCES/STANDARD_ROLES.md) - How RBAC permissions map to roles.
- [Superset Wiki](https://github.com/apache/superset/wiki) - Tons of additional community resources: best practices, community content and other information.
- [Superset SIPs](https://github.com/orgs/apache/projects/170) - The status of Superset's SIPs (Superset Improvement Proposals) for both consensus and implementation status.
Superset 2.0!
- [Superset 2.0 Meetup](https://preset.io/events/superset-2-0-meetup/)
- [Superset 2.0 Release Notes](https://github.com/apache/superset/tree/master/RELEASING/release-notes-2-0)
@@ -172,7 +188,7 @@ Understanding the Superset Points of View
- [Helm Chart](https://github.com/apache/superset/tree/master/helm/superset)
- Recordings of Past [Superset Community Events](https://preset.io/events)
- [Mixed Time Series Charts](https://preset.io/events/mixed-time-series-visualization-in-superset-workshop/)
- [Mixed Time Series Charts](https://preset.io/events/mixed-time-series-visualization-in-superset-workshop/)
- [How the Bing Team Customized Superset for the Internal Self-Serve Data & Analytics Platform](https://preset.io/events/how-the-bing-team-heavily-customized-superset-for-their-internal-data/)
- [Live Demo: Visualizing MongoDB and Pinot Data using Trino](https://preset.io/events/2021-04-13-visualizing-mongodb-and-pinot-data-using-trino/)
- [Introduction to the Superset API](https://preset.io/events/introduction-to-the-superset-api/)
@@ -184,3 +200,6 @@ Understanding the Superset Points of View
- [Why Apache Superset is Betting on Apache ECharts](https://preset.io/blog/2021-4-1-why-echarts/)
- [Superset API](https://superset.apache.org/docs/rest-api)
<!-- telemetry/analytics pixel: -->
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=bc1c90cd-bc04-4e11-8c7b-289fb2839492" />
+24 -7
View File
@@ -30,6 +30,7 @@ partaking in the process should join the channel.
## Release notes for recent releases
- [3.1](release-notes-3-1/README.md)
- [2.0](release-notes-2-0/README.md)
- [1.5](release-notes-1-5/README.md)
- [1.4](release-notes-1-4/README.md)
@@ -238,7 +239,7 @@ Similar to `cherrytree`, the change log script requires a github token, either a
#### Initial release (e.g. 1.5.0)
When generating the changelog for an initial minor relese, you should compare with
When generating the changelog for an initial minor release, you should compare with
the previous release (in the example, the previous release branch is `1.4`, so remember to
update it accordingly):
@@ -343,7 +344,7 @@ To build and run the recently created tarball **from SVN**:
# login using admin/admin
```
## Create a release on Github
## Create a release on GitHub
After submitting the tag and testing the release candidate, follow the steps [here](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) to create the release on GitHub. Use the vote email text as the content for the release description. Make sure to check the "This is a pre-release" checkbox for release candidates. You can check previous releases if you need an example.
@@ -387,8 +388,23 @@ The script will generate the email text that should be sent to dev@superset.apac
## Validating a release
Official instructions:
https://www.apache.org/info/verification.html
We now have a handy script for anyone validating a release to use. The core of it is in this very folder, `verify_release.py`. Just make sure you have all three release files in the same directory (`{some version}.tar.gz`, `{some version}.tar.gz.asc` and `{some version}tar.gz.sha512`). Then you can pass this script the path to the `.gz` file like so:
`python verify_release.py ~/path/tp/apache-superset-{version/candidate}-source.tar.gz`
If all goes well, you will see this result in your terminal:
```bash
SHA-512 verified
RSA key verified
```
There are also additional support scripts leveraging this to make it easy for those downloading a release to test it in-situ. You can do either of the following to validate these release assets:
* `cd` into `superset-frontend` and run `npm run validate-release`
* `cd` into `RELEASES` and run `./validate_this_release.sh`
## Publishing a successful release
Upon a successful vote, you'll have to copy the folder into the non-"dev/" folder.
@@ -416,11 +432,6 @@ git tag -f ${SUPERSET_VERSION}
git push origin ${SUPERSET_VERSION}
```
### Update CHANGELOG and UPDATING on superset
Now that we have a final Apache source release we need to open a pull request on Superset
with the changes on `CHANGELOG.md` and `UPDATING.md`.
### Publishing a Convenience Release to PyPI
Extract the release to the `/tmp` folder to build the PiPY release. Files in the `/tmp` folder will be automatically deleted by the OS.
@@ -486,3 +497,9 @@ click the 3-dot icon and select `Create Release`, paste the content of the ANNOU
release notes, and publish the new release.
At this point, a GitHub action will run that will check whether this release's version number is higher than the current 'latest' release. If that condition is true, this release sha will automatically be tagged as `latest` so that the most recent release can be referenced simply by using the 'latest' tag instead of looking up the version number. The existing version number tag will still exist, and can also be used for reference.
### Update Superset files
Now that we have a final Apache release we need to open a pull request on Superset with the changes on [CHANGELOG.m](../CHANGELOG.md) and [UPDATING.md](../UPDATING.md).
We also need to update the Environment section of [ISSUE_TEMPLATE/bug-report.yml](../.github/ISSUE_TEMPLATE//bug-report.yml) to reflect the new release changes. This includes removing versions that are not supported anymore and adding new ones.
+6
View File
@@ -35,6 +35,12 @@ The PyPI package:
https://pypi.org/project/apache-superset/
The Change Log for the release:
https://github.com/apache/{{ project_module }}/blob/{{ version }}/CHANGELOG.md
The Updating instructions for the release:
https://github.com/apache/{{ project_module }}/blob/{{ version }}/UPDATING.md
If you have any usage questions or have problems when upgrading or
find any issues with enhancements included in this release, please
don't hesitate to let us know by sending feedback to this mailing
+3 -3
View File
@@ -28,13 +28,13 @@ Superset 2.0 is a big step forward. This release cleans up many legacy code path
## Developer Experience
- Addition of a statsd guage metric for Slack and email notifications for increased visibility into errors around alerts / reports ([#20158](https://github.com/apache/superset/pull/20158))
- Addition of a statsd gauge metric for Slack and email notifications for increased visibility into errors around alerts / reports ([#20158](https://github.com/apache/superset/pull/20158))
- Helm chart now supports resource limits and requests for each component ([#20052](https://github.com/apache/superset/pull/20052))
- New Github workflow to test Storybook Netlify instance nightly ([#19852](https://github.com/apache/superset/pull/19852))
- New GitHub workflow to test Storybook Netlify instance nightly ([#19852](https://github.com/apache/superset/pull/19852))
- Minimum requirement for Superset is now Python 3.8 ([#19017](https://github.com/apache/superset/pull/19017)
- Minimum requirement for Superset is now Python 3.8 ([#19017](https://github.com/apache/superset/pull/19017))
## Features
+6 -6
View File
@@ -59,7 +59,7 @@ under the License.
- [#19898](https://github.com/apache/superset/pull/19898) feat: When editing the label/title in the Metrics popover, hitting Enter should save what you've typed (@diegomedina248)
- [#16493](https://github.com/apache/superset/pull/16493) feat(plugin-chart-echarts): [feature-parity] support extra control for the area chart V2 (@stephenLYZ)
- [#19855](https://github.com/apache/superset/pull/19855) feat(explore): Frontend implementation of dataset creation from infobox (@lyndsiWilliams)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modfied col and timezone info to schedule col (@pkdotson)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modified col and timezone info to schedule col (@pkdotson)
- [#20144](https://github.com/apache/superset/pull/20144) feat: showing results pane in dashboard (@zhaoyongjie)
- [#20242](https://github.com/apache/superset/pull/20242) feat: derived metrics use different line style (@zhaoyongjie)
- [#20010](https://github.com/apache/superset/pull/20010) feat: standardized form_data (@zhaoyongjie)
@@ -115,7 +115,7 @@ under the License.
- [#19558](https://github.com/apache/superset/pull/19558) feat(explore): Redesign of Run/Save buttons (@kgabryje)
- [#19650](https://github.com/apache/superset/pull/19650) feat(embedded): API get embedded dashboard config by uuid (@lilykuang)
- [#19310](https://github.com/apache/superset/pull/19310) feat(CRUD): add new empty state (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donuct chart (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donut chart (@stephenLYZ)
- [#19314](https://github.com/apache/superset/pull/19314) feat: Move Database Import option into DB Connection modal (@lyndsiWilliams)
- [#19434](https://github.com/apache/superset/pull/19434) feat: deprecate old API and create new API for dashes created by me (@dpgaspar)
- [#19482](https://github.com/apache/superset/pull/19482) feat: add success toast to alerts and reports (@pkdotson)
@@ -181,7 +181,7 @@ under the License.
- [#20204](https://github.com/apache/superset/pull/20204) fix: Fixes issue where results panel height was incorrect [sc-49045] (@eric-briscoe)
- [#20235](https://github.com/apache/superset/pull/20235) fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics (@diegomedina248)
- [#20088](https://github.com/apache/superset/pull/20088) fix: datatype tracking issue on virtual dataset (@codemaster08240328)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashbaord unable to refresh (@zhaoyongjie)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashboard unable to refresh (@zhaoyongjie)
- [#20228](https://github.com/apache/superset/pull/20228) fix: failed samples should throw exception (@zhaoyongjie)
- [#20203](https://github.com/apache/superset/pull/20203) fix: move columns to datasource object for bootstrap data (@hughhhh)
- [#20151](https://github.com/apache/superset/pull/20151) fix(csv): Ensure df_to_escaped_csv does not coerce integer columns to float (@john-bodley)
@@ -191,7 +191,7 @@ under the License.
- [#20206](https://github.com/apache/superset/pull/20206) fix(sql lab): SQL Lab Compile Query Delay (@diegomedina248)
- [#20201](https://github.com/apache/superset/pull/20201) fix: unable to set destroyOnClose on ModalTrigger (@zhaoyongjie)
- [#20186](https://github.com/apache/superset/pull/20186) fix(db): make to allow to show/hide the password when only creating (@prosdev0107)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrival of tables and views from schema for exasol backend (@Nicoretti)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrieval of tables and views from schema for exasol backend (@Nicoretti)
- [#19899](https://github.com/apache/superset/pull/19899) fix: always create parameter json field (@pkdotson)
- [#20173](https://github.com/apache/superset/pull/20173) fix: avoid while cycle in computeMaxFontSize for big Number run forever when css rule applied (@diegomedina248)
- [#20086](https://github.com/apache/superset/pull/20086) fix(css): transparent linear gradient not working in safari (@stephenLYZ)
@@ -298,7 +298,7 @@ under the License.
- [#19570](https://github.com/apache/superset/pull/19570) fix: sqloxide optional (@betodealmeida)
- [#19397](https://github.com/apache/superset/pull/19397) fix: weight tooltip issue (@codemaster08240328)
- [#19313](https://github.com/apache/superset/pull/19313) fix(sql lab): increase the size of the action icons in the history tab (@diegomedina248)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hidding control (@stephenLYZ)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hiding control (@stephenLYZ)
- [#19444](https://github.com/apache/superset/pull/19444) fix: Error Message is cut off in alerts & reports log page (@codemaster08240328)
- [#19312](https://github.com/apache/superset/pull/19312) fix: adaptive formatting typo in explore dropdowns (@diegomedina248)
- [#19534](https://github.com/apache/superset/pull/19534) fix(explore): Chart header icon paddings (@kgabryje)
@@ -463,7 +463,7 @@ under the License.
- [#19486](https://github.com/apache/superset/pull/19486) refactor: Removes the CSS files from the Treemap plugin (@michael-s-molina)
- [#19488](https://github.com/apache/superset/pull/19488) refactor: Removes the CSS files from the Sunburst plugin (@michael-s-molina)
- [#19490](https://github.com/apache/superset/pull/19490) chore: Add theme color to ParallelCoordinates (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterbaleTableStyles.less (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterableTableStyles.less (@geido)
- [#19441](https://github.com/apache/superset/pull/19441) chore: Remove StyledQueryButton.less (@geido)
- [#19473](https://github.com/apache/superset/pull/19473) refactor: Removes the CSS files from the Rose plugin (@michael-s-molina)
- [#19466](https://github.com/apache/superset/pull/19466) chore: Removes hard-coded colors from legacy-plugin-chart-world-map (@michael-s-molina)
+166
View File
@@ -0,0 +1,166 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Release Notes for Superset 3.1.0
Superset 3.1.0 brings a range of new features and quality of life improvements. This release is a minor version, meaning it doesn't include any breaking changes to ensure a seamless transition for our users. Here are some of the highlights of this release.
### Waterfall chart
The new [Waterfall chart](https://github.com/apache/superset/pull/25557) visualization provides a visual representation of how a value changes over time or across different categories. They are very helpful to show the cumulative effect of positive and negative changes from a starting value. Superset's Waterfall chart supports Breakdowns which can be used to analyze the contribution of different dimensions or factors to a specific metric. By breaking down the data into various categories or dimensions, you can identify the individual components that contribute to the overall variation or change in the metric.
The chart example below displays the total sales grouped by year and broken down by product line.
![Waterfall](media/waterfall_chart.png)
### Bubble Chart ECharts version
The new ECharts [Bubble chart](https://github.com/apache/superset/pull/22107) offers feature parity with the previous NVD3 version which should be removed in the next major release. This work is part of the [ECharts migration effort](https://github.com/apache/superset/issues/10418) to increase consistency and quality of our plugins. We'll add a migration to the new plugin soon which you'll be able to execute using the new CLI command.
![Bubble](media/bubble_chart.png)
### Improved Dataset selectors
The [dataset selectors](https://github.com/apache/superset/pull/25569) have been improved to also display the database and schema names which will help users locate the correct dataset, particularly when there are multiple tables/datasets with the same name that could benefit from disambiguation.
![Dataset](media/dataset_selector.png)
### SQL Lab improvements
SQL Lab received many user experience and performance improvements in this release. Well continue to improve the capabilities of SQL Lab with feedback from the community.
Now users can [automatically format](https://github.com/apache/superset/pull/25344) their SQL queries using the `Ctrl+Shift+F` shortcut or the Format SQL menu option available in the SQL configuration panel. Another improvement is that the results panel now shows the [executed query](https://github.com/apache/superset/pull/24787) which is very helpful when your SQL Lab editor has multiple queries.
![SQL Formatting](media/sql_formatting.png)
In the SQL panel configurations, there's a menu option to show the [keyboard shortcuts](https://github.com/apache/superset/pull/25542) a user has access to.
![Keyboard Shortcuts](media/keyboard_shortcuts.png)
SQL Lab has launched a non-blocking persistence mode, as outlined in [SIP-93](https://github.com/apache/superset/issues/21385). This enhancement ensures that your SQL editor content is preserved, even if your internet or service goes offline. Moreover, it improves user interaction by saving changes in a non-blocking way, similar to how Google Docs does.
Finally, the [SQL Lab module was moved to the Single Page Application](https://github.com/apache/superset/pull/25151) context. This means that both navigation and loading time of that module is significantly faster than previous versions (particularly when navigating to and from this page from other pages in Superset). This also reduces the number of requests to the server and pays some of our technical debt. Try it out! The difference is quite impressive!
### Country Map improvements
The Country Map visualization received some improvements in this release. The community added [France's regions](https://github.com/apache/superset/pull/25676) in addition to its departments and also many [Central Asia countries](https://github.com/apache/superset/pull/24870).
<table>
<tr>
<td width="33%">France's regions</td>
<td width="33%">Kazakhstan</td>
<td width="33%">Kyrgyzstan</td>
</tr>
<tr>
<td width="33%"><img src="media/france.png" width="100%"/></td>
<td width="33%"><img src="media/kazakhstan.png" width="100%"></td>
<td width="33%"><img src="media/kyrgyzstan.png" width="100%"></td>
</tr>
<tr>
<td width="33%">Tajikistan</td>
<td width="33%">Turkmenistan</td>
<td width="33%">Uzbekistan</td>
</tr>
<tr>
<td width="33%"><img src="media/tajikistan.png" width="100%"/></td>
<td width="33%"><img src="media/turkmenistan.png" width="100%"></td>
<td width="33%"><img src="media/uzbekistan.png" width="100%"></td>
</tr>
</table>
### Deck.gl ContourLayer
We [added](https://github.com/apache/superset/pull/24154) the Deck.gl [ContourLayer](https://deck.gl/docs/api-reference/aggregation-layers/contour-layer) which aggregates data into Isolines or Isobands for a given threshold and cell size. By expanding the range of available [Deck.gl](https://deck.gl/) visualization layers, users will have more options to choose from when creating their visualizations. This will allow them to tailor their visualizations to their specific needs and explore their data in different ways.
![Contour](media/contour.png)
### New Databases
Superset has added support for two new databases:
- [Databend](https://databend.rs/), an open-source, elastic, and workload-aware cloud data warehouse built in Rust. You can see the PR [here](https://github.com/apache/superset/pull/23308), and the updated documentation [here](https://superset.apache.org/docs/databases/databend).
- [Apache Doris](https://doris.apache.org/), which is based on the MySQL protocol and introduces the concept of Multi Catalog. You can see the PR [here](https://github.com/apache/superset/pull/24714/) and the updated documentation [here](https://superset.apache.org/docs/databases/doris).
<table>
<tr>
<td width="50%"><img src="media/databend.png" width="100%"/></td>
<td width="50%"><img src="media/doris.png" width="100%"></td>
</tr>
</table>
### CLI command to execute viz migrations
A new [CLI command](https://github.com/apache/superset/pull/25304) called viz-migrations was added to allow users to migrate charts of a specific type. This command is particularly helpful to migrate visualizations to their latest version and at the same time disable their legacy versions with the `VIZ_TYPE_DENYLIST` configuration. The main advantage of this command is that you can migrate your visualizations without needing to wait for a major release, where we generally remove the legacy plugins.
Currently, you can use the command to migrate Area, Bubble, Line, and Sunburst chart types but we'll add more as the ECharts migrations continue. Note that migrations for deprecated charts may be forced in upcoming major versions when the code is removed. Running migrations earlier will allow you to de-risk future upgrades while improving user experience.
```bash
Usage: superset viz-migrations [OPTIONS] COMMAND [ARGS]...
Migrates a viz from one type to another.
Commands:
downgrade Downgrades a viz to the previous version.
upgrade Upgrade a viz to the latest version.
```
Note: When migrating dashboards from one Superset instance to another (using import/export features or the Superset CLI), or restoring a backup of prior charts and dashboards, Superset will apply the existing migrations that are used during version upgrades. This will ensure that your charts and dashboards are using the latest and greatest charts that Superset officially supports.
### Database engine spec improvements
Many database engine improvements were added in this release. Some highlights:
- [feat: improve SQLite DB engine spec](https://github.com/apache/superset/pull/24909)
- [feat: add MotherDuck DB engine spec](https://github.com/apache/superset/pull/24934)
- [feat: Add week time grain for Elasticsearch datasets](https://github.com/apache/superset/pull/25683)
- [feat: method for dynamic allows_alias_in_select](https://github.com/apache/superset/pull/25882)
We even added a new [CLI command](https://github.com/apache/superset/pull/24918) to test DB engine specs, SQLAlchemy dialects, and database connections.
```bash
Usage: superset test-db [OPTIONS] SQLALCHEMY_URI
Run a series of tests against an analytical database.
This command tests:
1. The Superset DB engine spec.
2. The SQLAlchemy dialect.
3. The database connectivity and performance.
It's useful for people developing DB engine specs and/or SQLAlchemy
dialects, and also to test new versions of DB API 2.0 drivers.
Options:
-c, --connect-args TEXT Connect args as JSON or YAML
--help Show this message and exit.
```
### Playwright as an alternative to Selenium
Per [SIP-98](https://github.com/apache/superset/issues/24948), we [introduced Playwright](https://github.com/apache/superset/pull/25247) for rendering charts in Superset reports. [Playwright](https://playwright.dev/) is an open-source library for automating web browsers, similar to Selenium but with better support for modern browser features and improved performance. By using Playwright, we aim to provide a more stable and accurate chart rendering experience in Superset reports, especially for [Deck.gl](https://deck.gl/) charts.
Since configuring Playwright requires installing additional dependencies, in order to prevent breaking changes in existing deployments, we put the new flow behind a feature flag called `PLAYWRIGHT_REPORTS_AND_THUMBNAILS`. Users that don't enable the feature flag will be unaffected by the changes.
### Pandas upgraded to v2
We [upgraded Pandas to v2](https://github.com/apache/superset/pull/24705) and [added performance dependencies](https://github.com/apache/superset/pull/24768) to provide speed improvements, especially when working with large data sets. For the full list of changes, check [Pandas 2.0.0 Release Notes](https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html).
### Tags
Tags evolved a lot since 3.0, with many PRs that further improved the feature. During this phase, the community also made [great suggestions](https://github.com/apache/superset/discussions/25918) to make sure the feature is scalable, adhere to our security model, and offer a consistent design. We're still working on this feedback and new improvements will follow. For that reason, we're keeping the feature as beta behind the `TAGGING_SYSTEM` feature flag.
Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1011 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

+54
View File
@@ -0,0 +1,54 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#!/bin/bash
# Function to determine Python command
get_python_command() {
if command -v python3 &>/dev/null; then
echo "python3"
else
echo "python"
fi
}
# Function to determine Pip command
get_pip_command() {
if command -v pip3 &>/dev/null; then
echo "pip3"
else
echo "pip"
fi
}
PYTHON=$(get_python_command)
PIP=$(get_pip_command)
# Get the release directory's path. If you unzip an Apache release and just run the npm script to validate the release, this will be a file name like `apache-superset-x.x.xrcx-source.tar.gz`
RELEASE_DIR_NAME="../../$(basename "$(dirname "$(pwd)")").tar.gz"
# Install dependencies from requirements.txt if the file exists
if [ -f "path/to/requirements.txt" ]; then
echo "Installing Python dependencies..."
$PYTHON -m $PIP install -r path/to/requirements.txt
fi
# echo $PYTHON
# echo $RELEASE_DIR_NAME
# Run the Python script with the parent directory name as an argument
$PYTHON ../RELEASING/verify_release.py "$RELEASE_DIR_NAME"
+101
View File
@@ -0,0 +1,101 @@
import re
import subprocess
import sys
from typing import Optional
import requests
# Part 1: Verify SHA512 hash - this is the same as running `shasum -a 512 {release}` and comparing it against `{release}.sha512`
def get_sha512_hash(filename: str) -> str:
"""Run the shasum command on the file and return the SHA512 hash."""
result = subprocess.run(["shasum", "-a", "512", filename], stdout=subprocess.PIPE)
sha512_hash = result.stdout.decode().split()[0]
return sha512_hash
def read_sha512_file(filename: str) -> str:
"""Read the corresponding .sha512 file and process its contents."""
sha_filename = filename + ".sha512"
with open(sha_filename) as file:
lines = file.readlines()
processed_sha = "".join(lines[1:]).replace(" ", "").replace("\n", "").lower()
return processed_sha
def verify_sha512(filename: str) -> str:
"""Verify if the SHA512 hash of the file matches with the hash in the .sha512 file."""
sha512_hash = get_sha512_hash(filename)
sha512_file_content = read_sha512_file(filename)
if sha512_hash == sha512_file_content:
return "SHA verified"
else:
return "SHA failed"
# Part 2: Verify RSA key - this is the same as running `gpg --verify {release}.asc {release}` and comparing the RSA key and email address against the KEYS file
def get_gpg_info(filename: str) -> tuple[Optional[str], Optional[str]]:
"""Run the GPG verify command and extract RSA key and email address."""
asc_filename = filename + ".asc"
result = subprocess.run(
["gpg", "--verify", asc_filename, filename], capture_output=True
)
output = result.stderr.decode()
rsa_key = re.search(r"RSA key ([0-9A-F]+)", output)
email = re.search(r'issuer "([^"]+)"', output)
rsa_key_result = rsa_key.group(1) if rsa_key else None
email_result = email.group(1) if email else None
# Debugging: print warnings if rsa_key or email is not found
if rsa_key_result is None:
print("Warning: No RSA key found in GPG verification output.")
if email_result is None:
print("Warning: No email address found in GPG verification output.")
return rsa_key_result, email_result
def verify_rsa_key(rsa_key: str, email: Optional[str]) -> str:
"""Fetch the KEYS file and verify if the RSA key and email match."""
url = "https://downloads.apache.org/superset/KEYS"
response = requests.get(url)
if response.status_code == 200:
if rsa_key not in response.text:
return "RSA key not found on KEYS page"
# Check if email is None or not in response.text
if email and email in response.text:
return "RSA key and email verified against Apache KEYS file"
elif email:
return "RSA key verified, but Email not found on KEYS page"
else:
return "RSA key verified, but Email not available for verification"
else:
return "Failed to fetch KEYS file"
def verify_sha512_and_rsa(filename: str) -> None:
"""Verify SHA512 hash and RSA key."""
sha_result = verify_sha512(filename)
print(sha_result)
rsa_key, email = get_gpg_info(filename)
if rsa_key:
rsa_result = verify_rsa_key(rsa_key, email)
print(rsa_result)
else:
print("GPG verification failed: RSA key or email not found")
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python script.py <filename>")
else:
filename = sys.argv[1]
verify_sha512_and_rsa(filename)
+6 -16
View File
@@ -28,7 +28,6 @@ These features are considered **unfinished** and should only be used on developm
[//]: # "PLEASE KEEP THE LIST SORTED ALPHABETICALLY"
- ENABLE_ADVANCED_DATA_TYPES
- KV_STORE
- PRESTO_EXPAND_DATA
- SHARE_QUERIES_VIA_KV_STORE
- TAGGING_SYSTEM
@@ -43,15 +42,13 @@ These features are **finished** but currently being tested. They are usable, but
- ALLOW_FULL_CSV_EXPORT
- CACHE_IMPERSONATION
- CONFIRM_DASHBOARD_DIFF
- DASHBOARD_VIRTUALIZATION
- DRILL_BY
- DRILL_TO_DETAIL
- DYNAMIC_PLUGINS: [(docs)](https://superset.apache.org/docs/installation/running-on-kubernetes)
- ENABLE_JAVASCRIPT_CONTROLS
- ESTIMATE_QUERY_COST
- GENERIC_CHART_AXES
- GLOBAL_ASYNC_QUERIES [(docs)](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries)
- HORIZONTAL_FILTER_BAR
- PLAYWRIGHT_REPORTS_AND_THUMBNAILS
- RLS_IN_SQLLAB
- SSH_TUNNELING [(docs)](https://superset.apache.org/docs/installation/setup-ssh-tunneling)
- USE_ANALAGOUS_COLORS
@@ -64,10 +61,11 @@ These features flags are **safe for production**. They have been tested and will
- ALERTS_ATTACH_REPORTS
- ALLOW_ADHOC_SUBQUERY
- DASHBOARD_CROSS_FILTERS
- DASHBOARD_RBAC [(docs)](https://superset.apache.org/docs/creating-charts-dashboards/first-dashboard#manage-access-to-dashboards)
- DASHBOARD_VIRTUALIZATION
- DATAPANEL_CLOSED_BY_DEFAULT
- DISABLE_LEGACY_DATASOURCE_EDITOR
- DRILL_BY
- DRUID_JOINS
- EMBEDDABLE_CHARTS
- EMBEDDED_SUPERSET
@@ -85,15 +83,7 @@ These features flags currently default to True and **will be removed in a future
[//]: # "PLEASE KEEP THE LIST SORTED ALPHABETICALLY"
- CLIENT_CACHE
- DASHBOARD_CACHE
- DASHBOARD_FILTERS_EXPERIMENTAL
- DASHBOARD_NATIVE_FILTERS
- DASHBOARD_NATIVE_FILTERS_SET
- DISABLE_DATASET_SOURCE_EDIT
- ENABLE_EXPLORE_DRAG_AND_DROP
- ENABLE_EXPLORE_JSON_CSRF_PROTECTION
- ENABLE_TEMPLATE_REMOVE_FILTERS
- DASHBOARD_CROSS_FILTERS
- ENABLE_JAVASCRIPT_CONTROLS
- GENERIC_CHART_AXES
- REMOVE_SLICE_LEVEL_LABEL_COLORS
- VERSIONED_EXPORT
- KV_STORE
+9 -3
View File
@@ -21,7 +21,7 @@ under the License.
Here's a list of organizations, broken down into broad industry categories, that have taken the time to send a PR to let
the world know they are using Apache Superset. If you are a user and want to be recognized,
all you have to do is file a simple PR [like this one](https://github.com/apache/superset/pull/10122). If you think
all you have to do is file a simple PR [like this one](https://github.com/apache/superset/pull/10122) — [just click here](https://github.com/apache/superset/edit/master/RESOURCES/INTHEWILD.md) to do so. If you think
the categorization is inaccurate, please file a PR with your correction as well.
Join our growing community!
@@ -41,6 +41,7 @@ Join our growing community!
- [Capital Service S.A.](http://capitalservice.pl) [@pkonarzewski]
- [Clark.de](http://clark.de/)
- [KarrotPay](https://www.daangnpay.com/)
- [Taveo](https://www.taveo.com) [@codek]
- [Wise](https://wise.com) [@koszti]
- [Xendit](http://xendit.co/) [@LieAlbertTriAdrian]
@@ -77,6 +78,7 @@ Join our growing community!
- [Careem](https://www.careem.com/) [@SamraHanifCareem]
- [Cloudsmith](https://cloudsmith.io) [@alancarson]
- [CnOvit](http://www.cnovit.com/) [@xieshaohu]
- [Cyberhaven](https://www.cyberhaven.com/) [@toliver-ch]
- [Deepomatic](https://deepomatic.com/) [@Zanoellia]
- [Dial Once](https://www.dial-once.com/)
- [Dremio](https://dremio.com) [@narendrans]
@@ -101,6 +103,7 @@ Join our growing community!
- [Preset, Inc.](https://preset.io)
- [Pronto Tools](http://www.prontotools.io) [@zkan]
- [PubNub](https://pubnub.com) [@jzucker2]
- [ReadyTech](https://www.readytech.io)
- [Reward Gateway](https://www.rewardgateway.com)
- [ScopeAI](https://www.getscopeai.com) [@iloveluce]
- [Showmax](https://tech.showmax.com) [@bobek]
@@ -108,6 +111,7 @@ Join our growing community!
- [Steamroot](https://streamroot.io/)
- [TechAudit](https://www.techaudit.info) [@ETselikov]
- [Tenable](https://www.tenable.com) [@dflionis]
- [Tentacle](https://public.tentaclecmi.com) [@jdclarke5]
- [timbr.ai](https://timbr.ai/) [@semantiDan]
- [Tobii](http://www.tobii.com/) [@dwa]
- [Tooploox](https://www.tooploox.com/) [@jakubczaplicki]
@@ -128,8 +132,6 @@ Join our growing community!
- [Xite](https://xite.com/) [@shashankkoppar]
- [Zaihang](http://www.zaih.com/)
### Education
- [Brilliant.org](https://brilliant.org/)
- [Platzi.com](https://platzi.com/)
@@ -144,6 +146,7 @@ Join our growing community!
- [DouroECI](https://www.douroeci.com/) [@nunohelibeires]
- [Safaricom](https://www.safaricom.co.ke/) [@mmutiso]
- [Scoot](https://scoot.co/) [@haaspt]
- [Wattbewerb](https://wattbewerb.de/) [@wattbewerb]
### Healthcare
- [Amino](https://amino.com) [@shkr]
@@ -168,10 +171,13 @@ Join our growing community!
### Others
- [AI inside](https://inside.ai/en/)
- [Automattic](https://automattic.com/) [@Khrol, @Usiel]
- [Dropbox](https://www.dropbox.com/) [@bkyryliuk]
- [Grassroot](https://www.grassrootinstitute.org/)
- [Increff](https://www.increff.com/) [@ishansinghania]
- [komoot](https://www.komoot.com/) [@christophlingg]
- [Let's Roam](https://www.letsroam.com/)
- [Onebeat](https://1beat.com/) [@GuyAttia]
- [Twitter](https://twitter.com/)
- [VLMedia](https://www.vlmedia.com.tr/) [@ibotheperfect]
- [Yahoo!](https://yahoo.com/)
+210 -216
View File
@@ -1,216 +1,210 @@
||Admin|Alpha|Gamma|SQL_LAB|
|---|---|---|---|---|
|Permission/role description|Admins have all possible rights, including granting or revoking rights from other users and altering other peoples slices and dashboards.| Alpha users have access to all data sources, but they cannot grant or revoke access from other users. They are also limited to altering the objects that they own. Alpha users can add and alter data sources.|Gamma users have limited access. They can only consume data coming from data sources they have been given access to through another complementary role. They only have access to view the slices and dashboards made from data sources that they have access to. Currently Gamma users are not able to alter or add data sources. We assume that they are mostly content consumers, though they can create slices and dashboards.|The sql_lab role grants access to SQL Lab. Note that while Admin users have access to all databases by default, both Alpha and Gamma users need to be given access on a per database basis.||
|can read on SavedQuery|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can write on SavedQuery|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can read on CssTemplate|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on CssTemplate|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on ReportSchedule|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on ReportSchedule|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on Chart|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on Chart|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on Annotation|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on Annotation|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on Dataset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on Dataset|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can read on Log|:heavy_check_mark:|O|O|O|
|can write on Log|:heavy_check_mark:|O|O|O|
|can read on Dashboard|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on Dashboard|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on Database|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can write on Database|:heavy_check_mark:|O|O|O|
|can read on Query|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can this form get on ResetPasswordView|:heavy_check_mark:|O|O|O|
|can this form post on ResetPasswordView|:heavy_check_mark:|O|O|O|
|can this form get on ResetMyPasswordView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form post on ResetMyPasswordView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form get on UserInfoEditView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form post on UserInfoEditView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on UserDBModelView|:heavy_check_mark:|O|O|O|
|can edit on UserDBModelView|:heavy_check_mark:|O|O|O|
|can delete on UserDBModelView|:heavy_check_mark:|O|O|O|
|can add on UserDBModelView|:heavy_check_mark:|O|O|O|
|can list on UserDBModelView|:heavy_check_mark:|O|O|O|
|can userinfo on UserDBModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|resetmypassword on UserDBModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|resetpasswords on UserDBModelView|:heavy_check_mark:|O|O|O|
|userinfoedit on UserDBModelView|:heavy_check_mark:|O|O|O|
|can show on RoleModelView|:heavy_check_mark:|O|O|O|
|can edit on RoleModelView|:heavy_check_mark:|O|O|O|
|can delete on RoleModelView|:heavy_check_mark:|O|O|O|
|can add on RoleModelView|:heavy_check_mark:|O|O|O|
|can list on RoleModelView|:heavy_check_mark:|O|O|O|
|copyrole on RoleModelView|:heavy_check_mark:|O|O|O|
|can get on OpenApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on SwaggerView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can get on MenuApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can list on AsyncEventsRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can invalidate on CacheRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can function names on Database|:heavy_check_mark:|O|O|O|
|can query form data on Api|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can query on Api|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can time range on Api|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form get on CsvToDatabaseView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form post on CsvToDatabaseView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form get on ExcelToDatabaseView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form post on ExcelToDatabaseView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can external metadata on Datasource|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can save on Datasource|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can get on Datasource|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can shortner on R|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can my queries on SqlLab|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can log on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can schemas access for csv upload on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can import dashboards on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can schemas on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can sqllab history on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can publish on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can csv on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can slice on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can sync druid source on Superset|:heavy_check_mark:|O|O|O|
|can explore on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can approve on Superset|:heavy_check_mark:|O|O|O|
|can explore json on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can fetch datasource metadata on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can csrf token on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can sqllab on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can select star on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can warm up cache on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can sqllab table viz on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can profile on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can available domains on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can request access on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can dashboard on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can post on TableSchemaView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can expanded on TableSchemaView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can delete on TableSchemaView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can get on TabStateView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can post on TabStateView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can delete query on TabStateView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can migrate query on TabStateView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can activate on TabStateView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can delete on TabStateView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can put on TabStateView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can read on SecurityRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|menu access on Security|:heavy_check_mark:|O|O|O|
|menu access on List Users|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on List Roles|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Action Log|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Manage|:heavy_check_mark:|:heavy_check_mark:|O|O|
|menu access on Annotation Layers|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on CSS Templates|:heavy_check_mark:|:heavy_check_mark:|O|O|
|menu access on Import Dashboards|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Data|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Databases|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Datasets|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Upload a CSV|:heavy_check_mark:|:heavy_check_mark:|O|O|
|menu access on Upload Excel|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Charts|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Dashboards|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on SQL Lab|:heavy_check_mark:|O|O|:heavy_check_mark:|
|menu access on SQL Editor|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|menu access on Saved Queries|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|menu access on Query Search|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|all datasource access on all_datasource_access|:heavy_check_mark:|:heavy_check_mark:|O|O|
|all database access on all_database_access|:heavy_check_mark:|:heavy_check_mark:|O|O|
|all query access on all_query_access|:heavy_check_mark:|O|O|O|
|can edit on UserOAuthModelView|:heavy_check_mark:|O|O|O|
|can list on UserOAuthModelView|:heavy_check_mark:|O|O|O|
|can show on UserOAuthModelView|:heavy_check_mark:|O|O|O|
|can userinfo on UserOAuthModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can add on UserOAuthModelView|:heavy_check_mark:|O|O|O|
|can delete on UserOAuthModelView|:heavy_check_mark:|O|O|O|
|userinfoedit on UserOAuthModelView|:heavy_check_mark:|O|O|O|
|can write on DynamicPlugin|:heavy_check_mark:|O|O|O|
|can edit on DynamicPlugin|:heavy_check_mark:|O|O|O|
|can list on DynamicPlugin|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on DynamicPlugin|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can download on DynamicPlugin|:heavy_check_mark:|O|O|O|
|can add on DynamicPlugin|:heavy_check_mark:|O|O|O|
|can delete on DynamicPlugin|:heavy_check_mark:|O|O|O|
|can edit on RowLevelSecurityFiltersModelView|:heavy_check_mark:|O|O|O|
|can list on RowLevelSecurityFiltersModelView|:heavy_check_mark:|O|O|O|
|can show on RowLevelSecurityFiltersModelView|:heavy_check_mark:|O|O|O|
|can download on RowLevelSecurityFiltersModelView|:heavy_check_mark:|O|O|O|
|can add on RowLevelSecurityFiltersModelView|:heavy_check_mark:|O|O|O|
|can delete on RowLevelSecurityFiltersModelView|:heavy_check_mark:|O|O|O|
|muldelete on RowLevelSecurityFiltersModelView|:heavy_check_mark:|O|O|O|
|can external metadata by name on Datasource|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can get value on KV|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can store on KV|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can tagged objects on TagView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can suggestions on TagView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can get on TagView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can post on TagView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can delete on TagView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can edit on DashboardEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can list on DashboardEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on DashboardEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can add on DashboardEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can delete on DashboardEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|muldelete on DashboardEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can edit on SliceEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can list on SliceEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on SliceEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can add on SliceEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can delete on SliceEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|muldelete on SliceEmailScheduleView|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can edit on AlertModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can list on AlertModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on AlertModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can add on AlertModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can delete on AlertModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can list on AlertLogModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on AlertLogModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can list on AlertObservationModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can show on AlertObservationModelView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Row Level Security|:heavy_check_mark:|O|O|O|
|menu access on Access requests|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Home|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Plugins|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Dashboard Email Schedules|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Chart Emails|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Alerts|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Alerts & Report|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Scan New Datasources|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can share dashboard on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can share chart on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can list on FilterSets|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can add on FilterSets|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can delete on FilterSets|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can edit on FilterSets|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form get on ColumnarToDatabaseView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can this form post on ColumnarToDatabaseView|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|menu access on Upload a Columnar file|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can export on Chart|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on DashboardFilterStateRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on DashboardFilterStateRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on DashboardPermalinkRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on DashboardPermalinkRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can delete embedded on Dashboard|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can set embedded on Dashboard|:heavy_check_mark:|O|O|O|
|can export on Dashboard|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can get embedded on Dashboard|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can export on Database|:heavy_check_mark:|O|O|O|
|can export on Dataset|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can write on ExploreFormDataRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on ExploreFormDataRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can write on ExplorePermalinkRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on ExplorePermalinkRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can export on ImportExportRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can import on ImportExportRestApi|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can export on SavedQuery|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|
|can dashboard permalink on Superset|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can grant guest token on SecurityRestApi|:heavy_check_mark:|O|O|O|
|can read on AdvancedDataType|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can read on EmbeddedDashboard|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can duplicate on Dataset|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can read on Explore|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can samples on Datasource|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can read on AvailableDomains|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
|can get or create dataset on Dataset|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can get column values on Datasource|:heavy_check_mark:|:heavy_check_mark:|O|O|
|can export csv on SQLLab|:heavy_check_mark:|O|O|:heavy_check_mark:|
|can get results on SQLLab|:heavy_check_mark:|O|O|:heavy_check_mark:|
|can execute sql query on SQLLab|:heavy_check_mark:|O|O|:heavy_check_mark:|
|can recent activity on Log|:heavy_check_mark:|:heavy_check_mark:|:heavy_check_mark:|O|
| | Admin | Alpha | Gamma | SQL_LAB |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- |
| Permission/role description | Admins have all possible rights, including granting or revoking rights from other users and altering other peoples slices and dashboards. | Alpha users have access to all data sources, but they cannot grant or revoke access from other users. They are also limited to altering the objects that they own. Alpha users can add and alter data sources. | Gamma users have limited access. They can only consume data coming from data sources they have been given access to through another complementary role. They only have access to view the slices and dashboards made from data sources that they have access to. Currently Gamma users are not able to alter or add data sources. We assume that they are mostly content consumers, though they can create slices and dashboards. | The sql_lab role grants access to SQL Lab. Note that while Admin users have access to all databases by default, both Alpha and Gamma users need to be given access on a per database basis. | |
| can read on SavedQuery | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can write on SavedQuery | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can read on CssTemplate | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on CssTemplate | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on ReportSchedule | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on ReportSchedule | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on Chart | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on Chart | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on Annotation | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on Annotation | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on Dataset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on Dataset | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can read on Log | :heavy_check_mark: | O | O | O |
| can write on Log | :heavy_check_mark: | O | O | O |
| can read on Dashboard | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on Dashboard | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on Database | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can write on Database | :heavy_check_mark: | O | O | O |
| can read on Query | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can this form get on ResetPasswordView | :heavy_check_mark: | O | O | O |
| can this form post on ResetPasswordView | :heavy_check_mark: | O | O | O |
| can this form get on ResetMyPasswordView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form post on ResetMyPasswordView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form get on UserInfoEditView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form post on UserInfoEditView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on UserDBModelView | :heavy_check_mark: | O | O | O |
| can edit on UserDBModelView | :heavy_check_mark: | O | O | O |
| can delete on UserDBModelView | :heavy_check_mark: | O | O | O |
| can add on UserDBModelView | :heavy_check_mark: | O | O | O |
| can list on UserDBModelView | :heavy_check_mark: | O | O | O |
| can userinfo on UserDBModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| resetmypassword on UserDBModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| resetpasswords on UserDBModelView | :heavy_check_mark: | O | O | O |
| userinfoedit on UserDBModelView | :heavy_check_mark: | O | O | O |
| can show on RoleModelView | :heavy_check_mark: | O | O | O |
| can edit on RoleModelView | :heavy_check_mark: | O | O | O |
| can delete on RoleModelView | :heavy_check_mark: | O | O | O |
| can add on RoleModelView | :heavy_check_mark: | O | O | O |
| can list on RoleModelView | :heavy_check_mark: | O | O | O |
| copyrole on RoleModelView | :heavy_check_mark: | O | O | O |
| can get on OpenApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on SwaggerView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can get on MenuApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can list on AsyncEventsRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can invalidate on CacheRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can function names on Database | :heavy_check_mark: | O | O | O |
| can query form data on Api | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can query on Api | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can time range on Api | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form get on CsvToDatabaseView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form post on CsvToDatabaseView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form get on ExcelToDatabaseView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form post on ExcelToDatabaseView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can external metadata on Datasource | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can save on Datasource | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can get on Datasource | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can my queries on SqlLab | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can log on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can schemas access for csv upload on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can import dashboards on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can schemas on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can sqllab history on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can publish on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can csv on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can slice on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can sync druid source on Superset | :heavy_check_mark: | O | O | O |
| can explore on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can approve on Superset | :heavy_check_mark: | O | O | O |
| can explore json on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can fetch datasource metadata on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can csrf token on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can sqllab on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can select star on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can warm up cache on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can sqllab table viz on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can available domains on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can request access on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can dashboard on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can post on TableSchemaView | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can expanded on TableSchemaView | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can delete on TableSchemaView | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can get on TabStateView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can post on TabStateView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can delete query on TabStateView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can migrate query on TabStateView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can activate on TabStateView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can delete on TabStateView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can put on TabStateView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can read on SecurityRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| menu access on Security | :heavy_check_mark: | O | O | O |
| menu access on List Users | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on List Roles | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Action Log | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Manage | :heavy_check_mark: | :heavy_check_mark: | O | O |
| menu access on Annotation Layers | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on CSS Templates | :heavy_check_mark: | :heavy_check_mark: | O | O |
| menu access on Import Dashboards | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Data | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Databases | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Datasets | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Upload a CSV | :heavy_check_mark: | :heavy_check_mark: | O | O |
| menu access on Upload Excel | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Charts | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Dashboards | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on SQL Lab | :heavy_check_mark: | O | O | :heavy_check_mark: |
| menu access on SQL Editor | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| menu access on Saved Queries | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| menu access on Query Search | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| all datasource access on all_datasource_access | :heavy_check_mark: | :heavy_check_mark: | O | O |
| all database access on all_database_access | :heavy_check_mark: | :heavy_check_mark: | O | O |
| all query access on all_query_access | :heavy_check_mark: | O | O | O |
| can edit on UserOAuthModelView | :heavy_check_mark: | O | O | O |
| can list on UserOAuthModelView | :heavy_check_mark: | O | O | O |
| can show on UserOAuthModelView | :heavy_check_mark: | O | O | O |
| can userinfo on UserOAuthModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can add on UserOAuthModelView | :heavy_check_mark: | O | O | O |
| can delete on UserOAuthModelView | :heavy_check_mark: | O | O | O |
| userinfoedit on UserOAuthModelView | :heavy_check_mark: | O | O | O |
| can write on DynamicPlugin | :heavy_check_mark: | O | O | O |
| can edit on DynamicPlugin | :heavy_check_mark: | O | O | O |
| can list on DynamicPlugin | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on DynamicPlugin | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can download on DynamicPlugin | :heavy_check_mark: | O | O | O |
| can add on DynamicPlugin | :heavy_check_mark: | O | O | O |
| can delete on DynamicPlugin | :heavy_check_mark: | O | O | O |
| can edit on RowLevelSecurityFiltersModelView | :heavy_check_mark: | O | O | O |
| can list on RowLevelSecurityFiltersModelView | :heavy_check_mark: | O | O | O |
| can show on RowLevelSecurityFiltersModelView | :heavy_check_mark: | O | O | O |
| can download on RowLevelSecurityFiltersModelView | :heavy_check_mark: | O | O | O |
| can add on RowLevelSecurityFiltersModelView | :heavy_check_mark: | O | O | O |
| can delete on RowLevelSecurityFiltersModelView | :heavy_check_mark: | O | O | O |
| muldelete on RowLevelSecurityFiltersModelView | :heavy_check_mark: | O | O | O |
| can external metadata by name on Datasource | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can get value on KV | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can store on KV | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can tagged objects on TagView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can suggestions on TagView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can get on TagView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can post on TagView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can delete on TagView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can edit on DashboardEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can list on DashboardEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on DashboardEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can add on DashboardEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can delete on DashboardEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| muldelete on DashboardEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can edit on SliceEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can list on SliceEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on SliceEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can add on SliceEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can delete on SliceEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| muldelete on SliceEmailScheduleView | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can edit on AlertModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can list on AlertModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on AlertModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can add on AlertModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can delete on AlertModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can list on AlertLogModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on AlertLogModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can list on AlertObservationModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can show on AlertObservationModelView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Row Level Security | :heavy_check_mark: | O | O | O |
| menu access on Access requests | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Home | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Plugins | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Dashboard Email Schedules | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Chart Emails | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Alerts | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Alerts & Report | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Scan New Datasources | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can share dashboard on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can share chart on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form get on ColumnarToDatabaseView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can this form post on ColumnarToDatabaseView | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| menu access on Upload a Columnar file | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can export on Chart | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on DashboardFilterStateRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on DashboardFilterStateRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on DashboardPermalinkRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on DashboardPermalinkRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can delete embedded on Dashboard | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can set embedded on Dashboard | :heavy_check_mark: | O | O | O |
| can export on Dashboard | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can get embedded on Dashboard | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can export on Database | :heavy_check_mark: | O | O | O |
| can export on Dataset | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can write on ExploreFormDataRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on ExploreFormDataRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can write on ExplorePermalinkRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on ExplorePermalinkRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can export on ImportExportRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can import on ImportExportRestApi | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can export on SavedQuery | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| can dashboard permalink on Superset | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can grant guest token on SecurityRestApi | :heavy_check_mark: | O | O | O |
| can read on AdvancedDataType | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can read on EmbeddedDashboard | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can duplicate on Dataset | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can read on Explore | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can samples on Datasource | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can read on AvailableDomains | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
| can get or create dataset on Dataset | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can get column values on Datasource | :heavy_check_mark: | :heavy_check_mark: | O | O |
| can export csv on SQLLab | :heavy_check_mark: | O | O | :heavy_check_mark: |
| can get results on SQLLab | :heavy_check_mark: | O | O | :heavy_check_mark: |
| can execute sql query on SQLLab | :heavy_check_mark: | O | O | :heavy_check_mark: |
| can recent activity on Log | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | O |
+57 -9
View File
@@ -24,9 +24,51 @@ assists people when migrating to a new version.
## Next
- [26450](https://github.com/apache/superset/pull/26450): Deprecates the `KV_STORE` feature flag and its related assets such as the API endpoint and `keyvalue` table. The main dependency of this feature is the `SHARE_QUERIES_VIA_KV_STORE` feature flag which allows sharing SQL Lab queries without the necessity of saving the query. Our intention is to use the permalink feature to implement this use case before 5.0 and that's why we are deprecating the feature flag now.
### Breaking Changes
- [26347](https://github.com/apache/superset/issues/26347): Removes the deprecated `VERSIONED_EXPORT` feature flag. The previous value of the feature flag was `True` and now the feature is permanently enabled.
- [26328](https://github.com/apache/superset/issues/26328): Removes the deprecated Filter Box code and it's associated dependencies `react-select` and `array-move`. It also removes the `DeprecatedSelect` and `AsyncSelect` components that were exclusively used by filter boxes. Existing filter boxes will be automatically migrated to native filters.
- [26330](https://github.com/apache/superset/issues/26330): Removes the deprecated `DASHBOARD_FILTERS_EXPERIMENTAL` feature flag. The previous value of the feature flag was `False` and now the feature is permanently removed.
- [26344](https://github.com/apache/superset/issues/26344): Removes the deprecated `ENABLE_EXPLORE_JSON_CSRF_PROTECTION` feature flag. The previous value of the feature flag was `False` and now the feature is permanently removed.
- [26345](https://github.com/apache/superset/issues/26345): Removes the deprecated `ENABLE_TEMPLATE_REMOVE_FILTERS` feature flag. The previous value of the feature flag was `True` and now the feature is permanently enabled.
- [26346](https://github.com/apache/superset/issues/26346): Removes the deprecated `REMOVE_SLICE_LEVEL_LABEL_COLORS` feature flag. The previous value of the feature flag was `False` and now the feature is permanently removed.
- [26348](https://github.com/apache/superset/issues/26348): Removes the deprecated `CLIENT_CACHE` feature flag. The previous value of the feature flag was `False` and now the feature is permanently removed.
- [26349](https://github.com/apache/superset/issues/26349): Removes the deprecated `DASHBOARD_CACHE` feature flag. The previous value of the feature flag was `False` and now the feature is permanently removed.
- [26369](https://github.com/apache/superset/issues/26369): Removes the Filter Sets feature including the deprecated `DASHBOARD_NATIVE_FILTERS_SET` feature flag and all related API endpoints. The feature is permanently removed as it was not being actively maintained, it was not widely used, and it was full of bugs. We also considered that if we were to provide a similar feature, it would be better to re-implement it from scratch given the amount of technical debt that the current implementation has. The previous value of the feature flag was `False` and now the feature is permanently removed.
- [26343](https://github.com/apache/superset/issues/26343): Removes the deprecated `ENABLE_EXPLORE_DRAG_AND_DROP` feature flag. The previous value of the feature flag was `True` and now the feature is permanently enabled.
- [26331](https://github.com/apache/superset/issues/26331): Removes the deprecated `DISABLE_DATASET_SOURCE_EDIT` feature flag. The previous value of the feature flag was `False` and now the feature is permanently removed.
- [26636](https://github.com/apache/superset/issues/26636): Sets the `DASHBOARD_VIRTUALIZATION` feature flag to `True` by default. This feature was introduced by [21438](https://github.com/apache/superset/pull/21438) and will enable virtualization when rendering a dashboard's charts in an attempt to reduce the number of elements (DOM nodes) rendered at once. This is especially useful for large dashboards.
- [26637](https://github.com/apache/superset/issues/26637): Sets the `DRILL_BY` feature flag to `True` by default given that the feature has been tested for a while and reached a stable state.
- [26462](https://github.com/apache/superset/issues/26462): Removes the Profile feature given that it's not actively maintained and not widely used.
- [26377](https://github.com/apache/superset/pull/26377): Removes the deprecated Redirect API that supported short URLs used before the permalink feature.
- [26329](https://github.com/apache/superset/issues/26329): Removes the deprecated `DASHBOARD_NATIVE_FILTERS` feature flag. The previous value of the feature flag was `True` and now the feature is permanently enabled.
### Potential Downtime
- [26416](https://github.com/apache/superset/pull/26416): adds 2 database indexes to report_execution_log and 1 to report_recipient to improve performance, this may cause downtime on large deployments.
## 3.1.0
- [24657](https://github.com/apache/superset/pull/24657): Bumps the cryptography package to augment the OpenSSL security vulnerability.
### Other
- [24982](https://github.com/apache/superset/pull/24982): By default, physical datasets on Oracle-like dialects like Snowflake will now use denormalized column names. However, existing datasets won't be affected. To change this behavior, the "Advanced" section on the dataset modal has a "Normalize column names" flag which can be changed to change this behavior.
## 3.0.3
- [26034](https://github.com/apache/superset/issues/26034): Fixes a problem where numeric x-axes were being treated as categorical values. As a consequence of that, the way labels are displayed might change given that ECharts has a different treatment for numerical and categorical values. To revert to the old behavior, users need to manually convert numerical columns to text so that they are treated as categories. Check https://github.com/apache/superset/issues/26159 for more details.
## 3.0.0
- [25053](https://github.com/apache/superset/pull/25053): Extends the `ab_user.email` column from 64 to 320 characters which has an associated unique key constraint. This will be problematic for MySQL metadata databases which use the InnoDB storage engine with the `innodb_large_prefix` parameter disabled as the key prefix limit is 767 bytes. Enabling said parameter and ensuring that the table uses either the `DYNAMIC` or `COMPRESSED` row format should remedy the problem. See [here](https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html) for more details.
- [24911](https://github.com/apache/superset/pull/24911): Changes the column type from `TEXT` to `MediumText` in table `logs`, potentially requiring a table lock on MySQL dbs or taking some time to complete on large deployments.
- [24939](https://github.com/apache/superset/pull/24939): Augments the foreign key constraints for the `embedded_dashboards` table to include an explicit CASCADE ON DELETE to ensure the relevant records are deleted when a dashboard is deleted. Scheduled downtime may be advised.
- [24938](https://github.com/apache/superset/pull/24938): Augments the foreign key constraints for the `dashboard_slices` table to include an explicit CASCADE ON DELETE to ensure the relevant records are deleted when a dashboard or slice is deleted. Scheduled downtime may be advised.
- [24628]https://github.com/apache/superset/pull/24628): Augments the foreign key constraints for the `dashboard_owner`, `report_schedule_owner`, and `slice_owner` tables to include an explicit CASCADE ON DELETE to ensure the relevant ownership records are deleted when a dataset is deleted. Scheduled downtime may be advised.
- [24488](https://github.com/apache/superset/pull/24488): Augments the foreign key constraints for the `sql_metrics`, `sqlatable_user`, and `table_columns` tables which reference the `tables` table to include an explicit CASCADE ON DELETE to ensure the relevant records are deleted when a dataset is deleted. Scheduled downtime may be advised.
- [24335](https://github.com/apache/superset/pull/24335): Removed deprecated API `/superset/filter/<datasource_type>/<int:datasource_id>/<column>/`
- [24185](https://github.com/apache/superset/pull/24185): `/api/v1/database/test_connection` and `api/v1/database/validate_parameters` permissions changed from `can_read` to `can_write`. Only Admin user's have access.
- [24232](https://github.com/apache/superset/pull/24232): Enables ENABLE_TEMPLATE_REMOVE_FILTERS, DRILL_TO_DETAIL, DASHBOARD_CROSS_FILTERS by default, marks VERSIONED_EXPORT and ENABLE_TEMPLATE_REMOVE_FILTERS as deprecated.
- [23652](https://github.com/apache/superset/pull/23652): Enables GENERIC_CHART_AXES feature flag by default.
- [23226](https://github.com/apache/superset/pull/23226): Migrated endpoint `/estimate_query_cost/<int:database_id>` to `/api/v1/sqllab/estimate/`. Corresponding permissions are can estimate query cost on SQLLab. Make sure you add/replace the necessary permissions on any custom roles you may have.
@@ -34,12 +76,14 @@ assists people when migrating to a new version.
- [24404](https://github.com/apache/superset/pull/24404): FLASK_ENV is getting
deprecated, we recommend using SUPERSET_ENV and reviewing your
config for ENVIRONMENT_TAG_CONFIG, which enables adding a tag in the navbar to
make it more clear which envrionment your are in.
make it more clear which environment your are in.
`SUPERSET_ENV=production` and `SUPERSET_ENV=development` are the two
supported switches based on the default config.
- [19242](https://github.com/apache/superset/pull/19242): Adhoc subqueries are now disabled by default for security reasons. To enable them, set the feature flag `ALLOW_ADHOC_SUBQUERY` to `True`.
### Breaking Changes
- [24686]https://github.com/apache/superset/pull/24686): All dataset's custom explore_url are handled as relative URLs on the frontend, behaviour controlled by PREVENT_UNSAFE_DEFAULT_URLS_ON_DATASET.
- [24262](https://github.com/apache/superset/pull/24262): Enabled `TALISMAN_ENABLED` flag by default and provided stricter default Content Security Policy
- [24415](https://github.com/apache/superset/pull/24415): Removed the obsolete Druid NoSQL REGEX operator.
- [24423](https://github.com/apache/superset/pull/24423): Removed deprecated APIs `/superset/slice_json/...`, `/superset/annotation_json/...`
@@ -70,10 +114,14 @@ assists people when migrating to a new version.
- [23663](https://github.com/apache/superset/pull/23663): Removes deprecated feature flags `ALLOW_DASHBOARD_DOMAIN_SHARDING`, `DISPLAY_MARKDOWN_HTML`, and `FORCE_DATABASE_CONNECTIONS_SSL`.
- [22325](https://github.com/apache/superset/pull/22325): "RLS_FORM_QUERY_REL_FIELDS" is replaced by "RLS_BASE_RELATED_FIELD_FILTERS" feature flag. Its value format stays same.
### Potential Downtime
## 2.1.1
- [24185](https://github.com/apache/superset/pull/24185): `/api/v1/database/test_connection` and `api/v1/database/validate_parameters` permissions changed from `can_read` to `can_write`. Only Admin user's have access.
### Other
- [23888](https://github.com/apache/superset/pull/23888): Database Migration for json serialization instead of pickle should upgrade/downgrade correctly when bumping to/from this patch version
## 2.1.0
- [22809](https://github.com/apache/superset/pull/22809): Migrated endpoint `/superset/sql_json` and `/superset/results/` to `/api/v1/sqllab/execute/` and `/api/v1/sqllab/results/` respectively. Corresponding permissions are `can sql_json on Superset` to `can execute on SQLLab`, `can results on Superset` to `can results on SQLLab`. Make sure you add/replace the necessary permissions on any custom roles you may have.
@@ -108,7 +156,7 @@ assists people when migrating to a new version.
## 2.0.1
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by Github. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by GitHub. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
## Breaking Changes
@@ -129,8 +177,8 @@ assists people when migrating to a new version.
- [19770](https://github.com/apache/superset/pull/19770): Per [SIP-11](https://github.com/apache/superset/issues/6032) and [SIP-68](https://github.com/apache/superset/issues/14909), the native NoSQL Druid connector is deprecated and has been removed. Druid is still supported through SQLAlchemy via pydruid. The config keys `DRUID_IS_ACTIVE` and `DRUID_METADATA_LINKS_ENABLED` have also been removed.
- [19274](https://github.com/apache/superset/pull/19274): The `PUBLIC_ROLE_LIKE_GAMMA` config key has been removed, set `PUBLIC_ROLE_LIKE = "Gamma"` to have the same functionality.
- [19273](https://github.com/apache/superset/pull/19273): The `SUPERSET_CELERY_WORKERS` and `SUPERSET_WORKERS` config keys has been removed. Configure Celery directly using `CELERY_CONFIG` on Superset.
- [19231](https://github.com/apache/superset/pull/19231): The `ENABLE_REACT_CRUD_VIEWS` feature flag has been removed (premantly enabled). Any deployments which had set this flag to false will need to verify that the React views support their use case.
- [19230](https://github.com/apache/superset/pull/19230): The `ROW_LEVEL_SECURITY` feature flag has been removed (permantly enabled). Any deployments which had set this flag to false will need to verify that the presence of the Row Level Security feature does not interfere with their use case.
- [19231](https://github.com/apache/superset/pull/19231): The `ENABLE_REACT_CRUD_VIEWS` feature flag has been removed (permanently enabled). Any deployments which had set this flag to false will need to verify that the React views support their use case.
- [19230](https://github.com/apache/superset/pull/19230): The `ROW_LEVEL_SECURITY` feature flag has been removed (permanently enabled). Any deployments which had set this flag to false will need to verify that the presence of the Row Level Security feature does not interfere with their use case.
- [19168](https://github.com/apache/superset/pull/19168): Celery upgrade to 5.X resulted in breaking changes to its command line invocation. Please follow [these](https://docs.celeryq.dev/en/stable/whatsnew-5.2.html#step-1-adjust-your-command-line-invocation) instructions for adjustments. Also consider migrating you Celery config per [here](https://docs.celeryq.dev/en/stable/userguide/configuration.html#conf-old-settings-map).
- [19142](https://github.com/apache/superset/pull/19142): The `VERSIONED_EXPORT` config key is now `True` by default.
- [19113](https://github.com/apache/superset/pull/19113): The `ENABLE_JAVASCRIPT_CONTROLS` config key has moved from an app config to a feature flag. Any deployments who overrode this setting will now need to override the feature flag from here onward.
@@ -145,7 +193,7 @@ assists people when migrating to a new version.
### Other
- [22022](https://github.com/apache/superset/pull/22022): HTTP API endpoints `/superset/approve` and `/superset/request_access` have been deprecated and their HTTP methods were changed from GET to POST
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by Github. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by GitHub. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
## 1.5.2
@@ -237,7 +285,7 @@ assists people when migrating to a new version.
### Other
- [13772](https://github.com/apache/superset/pull/13772): Row level security (RLS) is now enabled by default. To activate the feature, please run `superset init` to expose the RLS menus to Admin users.
- [13980](https://github.com/apache/superset/pull/13980): Data health checks no longer use the metadata database as an interim cache. Though non-breaking, deployments which implement complex logic should likely memoize the callback function. Refer to documentation in the confg.py file for more detail.
- [13980](https://github.com/apache/superset/pull/13980): Data health checks no longer use the metadata database as an interim cache. Though non-breaking, deployments which implement complex logic should likely memoize the callback function. Refer to documentation in the config.py file for more detail.
- [14255](https://github.com/apache/superset/pull/14255): The default `CSV_TO_HIVE_UPLOAD_DIRECTORY_FUNC` callable logic has been updated to leverage the specified database and schema to ensure the upload S3 key prefix is unique. Previously tables generated via upload from CSV with the same name but differ schema and/or cluster would use the same S3 key prefix. Note this change does not impact previously imported tables.
## 1.1.0
+10 -5
View File
@@ -14,12 +14,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
x-superset-image: &superset-image apache/superset:${TAG:-latest-dev}
x-superset-image: &superset-image apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest-dev}
x-superset-depends-on: &superset-depends-on
- db
- redis
x-superset-volumes: &superset-volumes
# /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
x-superset-volumes:
&superset-volumes # /app/pythonpath_docker will be appended to the PYTHONPATH in the final container
- ./docker:/app/docker
- superset_home:/app/superset_home
@@ -34,11 +34,12 @@ services:
db:
env_file: docker/.env-non-dev
image: postgres:14
image: postgres:15
container_name: superset_db
restart: unless-stopped
volumes:
- db_home:/var/lib/postgresql/data
- ./docker/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
superset:
env_file: docker/.env-non-dev
@@ -73,7 +74,11 @@ services:
user: "root"
volumes: *superset-volumes
healthcheck:
test: ["CMD-SHELL", "celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME"]
test:
[
"CMD-SHELL",
"celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME",
]
superset-worker-beat:
image: *superset-image
+22 -3
View File
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
x-superset-image: &superset-image apache/superset:${TAG:-latest-dev}
x-superset-image: &superset-image apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest-dev}
x-superset-user: &superset-user root
x-superset-depends-on: &superset-depends-on
- db
@@ -29,6 +29,16 @@ x-superset-volumes: &superset-volumes
version: "3.7"
services:
nginx:
image: nginx:latest
container_name: superset_nginx
restart: unless-stopped
ports:
- "80:80"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
redis:
image: redis:7
container_name: superset_cache
@@ -40,13 +50,14 @@ services:
db:
env_file: docker/.env
image: postgres:14
image: postgres:15
container_name: superset_db
restart: unless-stopped
ports:
- "127.0.0.1:5432:5432"
volumes:
- db_home:/var/lib/postgresql/data
- ./docker/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
superset:
env_file: docker/.env
@@ -56,6 +67,8 @@ services:
restart: unless-stopped
ports:
- 8088:8088
extra_hosts:
- "host.docker.internal:host-gateway"
user: *superset-user
depends_on: *superset-depends-on
volumes: *superset-volumes
@@ -68,6 +81,8 @@ services:
image: superset-websocket
ports:
- 8080:8080
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- redis
# Mount everything in superset-websocket into container and
@@ -75,7 +90,7 @@ services:
# This is necessary because host and container need to have
# their own, separate versions of these files. .dockerignore
# does not seem to work when starting the service through
# docker-compose.
# docker compose.
#
# For example, node_modules may contain libs with native bindings.
# Those bindings need to be compiled for each OS and the container
@@ -109,6 +124,8 @@ services:
command: ["/app/docker/docker-frontend.sh"]
env_file: docker/.env
depends_on: *superset-depends-on
environment:
SCARF_ANALYTICS: "${SCARF_ANALYTICS}"
volumes: *superset-volumes
superset-worker:
@@ -120,6 +137,8 @@ services:
depends_on: *superset-depends-on
user: *superset-user
volumes: *superset-volumes
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD-SHELL", "celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME"]
# Bump memory limit if processing selenium / thumbnails on superset-worker
+6
View File
@@ -22,6 +22,12 @@ DATABASE_HOST=db
DATABASE_PASSWORD=superset
DATABASE_USER=superset
EXAMPLES_DB=examples
EXAMPLES_HOST=db
EXAMPLES_USER=examples
EXAMPLES_PASSWORD=examples
EXAMPLES_PORT=5432
# database engine specific environment variables
# change the below if you prefer another database engine
DATABASE_PORT=5432
+8 -2
View File
@@ -21,11 +21,17 @@ DATABASE_DB=superset
DATABASE_HOST=db
DATABASE_PASSWORD=superset
DATABASE_USER=superset
DATABASE_PORT=5432
DATABASE_DIALECT=postgresql
EXAMPLES_DB=examples
EXAMPLES_HOST=db
EXAMPLES_USER=examples
EXAMPLES_PASSWORD=examples
EXAMPLES_PORT=5432
# database engine specific environment variables
# change the below if you prefer another database engine
DATABASE_PORT=5432
DATABASE_DIALECT=postgresql
POSTGRES_DB=superset
POSTGRES_USER=superset
POSTGRES_PASSWORD=superset
+4 -4
View File
@@ -46,9 +46,9 @@ Steps:
1. Create `./docker/requirements-local.txt`
2. Add your new packages
3. Rebuild docker-compose
1. `docker-compose down -v`
2. `docker-compose up`
3. Rebuild docker compose
1. `docker compose down -v`
2. `docker compose up`
## Initializing Database
@@ -56,7 +56,7 @@ The database will initialize itself upon startup via the init container ([`super
## Normal Operation
To run the container, simply run: `docker-compose up`
To run the container, simply run: `docker compose up`
After waiting several minutes for Superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088)
to start your journey.
+8
View File
@@ -35,6 +35,14 @@ else
echo "Skipping local overrides"
fi
#
# playwright is an optional package - run only if it is installed
#
if command -v playwright > /dev/null 2>&1; then
playwright install-deps
playwright install chromium
fi
case "${1}" in
worker)
echo "Starting Celery worker..."
+15
View File
@@ -0,0 +1,15 @@
# ------------------------------------------------------------------------
# Creates the examples database and respective user. This database location
# and access credentials are defined on the environment variables
# ------------------------------------------------------------------------
set -e
psql -v ON_ERROR_STOP=1 --username "${POSTGRES_USER}" <<-EOSQL
CREATE USER ${EXAMPLES_USER} WITH PASSWORD '${EXAMPLES_PASSWORD}';
CREATE DATABASE ${EXAMPLES_DB};
GRANT ALL PRIVILEGES ON DATABASE ${EXAMPLES_DB} TO ${EXAMPLES_USER};
EOSQL
psql -v ON_ERROR_STOP=1 --username "${POSTGRES_USER}" -d "${EXAMPLES_DB}" <<-EOSQL
GRANT ALL ON SCHEMA public TO ${EXAMPLES_USER};
EOSQL
+127
View File
@@ -0,0 +1,127 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent [$connection_requests] "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 30;
keepalive_requests 2;
###### Compression Stuff
# Enable Gzip compressed.
gzip on;
# Compression level (1-9).
# 5 is a perfect compromise between size and cpu usage, offering about
# 75% reduction for most ascii files (almost identical to level 9).
gzip_comp_level 5;
# Don't compress anything that's already small and unlikely to shrink much
# if at all (the default is 20 bytes, which is bad as that usually leads to
# larger files after gzipping).
gzip_min_length 256;
# Compress data even for clients that are connecting to us via proxies,
# identified by the "Via" header (required for CloudFront).
gzip_proxied any;
# Tell proxies to cache both the gzipped and regular version of a resource
# whenever the client's Accept-Encoding capabilities header varies;
# Avoids the issue where a non-gzip capable client (which is extremely rare
# today) would display gibberish if their proxy gave them the gzipped version.
gzip_vary on;
# Compress all output labeled with one of the following MIME-types.
gzip_types
application/atom+xml
application/javascript
application/json
application/rss+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/svg+xml
image/x-icon
text/css
text/plain
text/x-component;
# text/html is always compressed by HttpGzipModule
output_buffers 20 10m;
client_max_body_size 10m;
upstream superset_app {
server host.docker.internal:8088;
keepalive 100;
}
upstream superset_websocket {
server host.docker.internal:8080;
keepalive 100;
}
server {
listen 80 default_server;
server_name _;
location /ws {
proxy_pass http://superset_websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
location / {
proxy_pass http://superset_app;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
port_in_redirect off;
proxy_connect_timeout 300;
}
}
}
+26 -33
View File
@@ -22,49 +22,42 @@
#
import logging
import os
from typing import Optional
from cachelib.file import FileSystemCache
from celery.schedules import crontab
from flask_caching.backends.filesystemcache import FileSystemCache
logger = logging.getLogger()
DATABASE_DIALECT = os.getenv("DATABASE_DIALECT")
DATABASE_USER = os.getenv("DATABASE_USER")
DATABASE_PASSWORD = os.getenv("DATABASE_PASSWORD")
DATABASE_HOST = os.getenv("DATABASE_HOST")
DATABASE_PORT = os.getenv("DATABASE_PORT")
DATABASE_DB = os.getenv("DATABASE_DB")
def get_env_variable(var_name: str, default: Optional[str] = None) -> str:
"""Get the environment variable or raise exception."""
try:
return os.environ[var_name]
except KeyError:
if default is not None:
return default
else:
error_msg = "The environment variable {} was missing, abort...".format(
var_name
)
raise OSError(error_msg)
DATABASE_DIALECT = get_env_variable("DATABASE_DIALECT")
DATABASE_USER = get_env_variable("DATABASE_USER")
DATABASE_PASSWORD = get_env_variable("DATABASE_PASSWORD")
DATABASE_HOST = get_env_variable("DATABASE_HOST")
DATABASE_PORT = get_env_variable("DATABASE_PORT")
DATABASE_DB = get_env_variable("DATABASE_DB")
EXAMPLES_USER = os.getenv("EXAMPLES_USER")
EXAMPLES_PASSWORD = os.getenv("EXAMPLES_PASSWORD")
EXAMPLES_HOST = os.getenv("EXAMPLES_HOST")
EXAMPLES_PORT = os.getenv("EXAMPLES_PORT")
EXAMPLES_DB = os.getenv("EXAMPLES_DB")
# The SQLAlchemy connection string.
SQLALCHEMY_DATABASE_URI = "{}://{}:{}@{}:{}/{}".format(
DATABASE_DIALECT,
DATABASE_USER,
DATABASE_PASSWORD,
DATABASE_HOST,
DATABASE_PORT,
DATABASE_DB,
SQLALCHEMY_DATABASE_URI = (
f"{DATABASE_DIALECT}://"
f"{DATABASE_USER}:{DATABASE_PASSWORD}@"
f"{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_DB}"
)
REDIS_HOST = get_env_variable("REDIS_HOST")
REDIS_PORT = get_env_variable("REDIS_PORT")
REDIS_CELERY_DB = get_env_variable("REDIS_CELERY_DB", "0")
REDIS_RESULTS_DB = get_env_variable("REDIS_RESULTS_DB", "1")
SQLALCHEMY_EXAMPLES_URI = (
f"{DATABASE_DIALECT}://"
f"{EXAMPLES_USER}:{EXAMPLES_PASSWORD}@"
f"{EXAMPLES_HOST}:{EXAMPLES_PORT}/{EXAMPLES_DB}"
)
REDIS_HOST = os.getenv("REDIS_HOST", "redis")
REDIS_PORT = os.getenv("REDIS_PORT", "6379")
REDIS_CELERY_DB = os.getenv("REDIS_CELERY_DB", "0")
REDIS_RESULTS_DB = os.getenv("REDIS_RESULTS_DB", "1")
RESULTS_BACKEND = FileSystemCache("/app/superset_home/sqllab")
+5 -4
View File
@@ -4,10 +4,11 @@ ARG DOCKERIZE_VERSION=v0.7.0
RUN apk update --no-cache \
&& apk add --no-cache wget openssl \
&& wget -O - https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz | tar xzf - -C /usr/local/bin \
&& case "$(apk --print-arch)" in \
x86_64) ARCH=amd64 ;; \
aarch64) ARCH=arm64 ;; \
esac \
&& wget -O - https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-${ARCH}-${DOCKERIZE_VERSION}.tar.gz | tar xzf - -C /usr/local/bin \
&& apk del wget
USER 10001
ENTRYPOINT ["dockerize"]
CMD ["--help"]
+2
View File
@@ -18,3 +18,5 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
docs/.zshrc
+2 -2
View File
@@ -1,7 +1,7 @@
---
title: API
hide_title: true
sidebar_position: 9
sidebar_position: 10
---
import { Buffer } from 'buffer';
@@ -15,7 +15,7 @@ import { Alert } from 'antd';
Superset's public **REST API** follows the
[OpenAPI specification](https://swagger.io/specification/), and is
documented here. The docs bellow are generated using
documented here. The docs below are generated using
[Swagger React UI](https://www.npmjs.com/package/swagger-ui-react).
<Alert
+1 -1
View File
@@ -1,4 +1,4 @@
{
"label": "Contributing",
"position": 6
"position": 7
}
+5 -1
View File
@@ -13,8 +13,12 @@ which can be joined by anyone):
- [Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
- [Apache Superset Slack community](http://bit.ly/join-superset-slack)
- [GitHub issues and PR's](https://github.com/apache/superset/issues)
- [GitHub issues](https://github.com/apache/superset/issues)
- [GitHub pull requests](https://github.com/apache/superset/pulls)
- [GitHub discussions](https://github.com/apache/superset/discussions)
- [Superset Community Calendar](https://superset.apache.org/community)
More references:
- [Comprehensive Tutorial for Contributing Code to Apache Superset](https://preset.io/blog/tutorial-contributing-code-to-apache-superset/)
- [CONTRIBUTING Guide on GitHub](https://github.com/apache/superset/blob/master/CONTRIBUTING.md)
- [Superset Wiki (code guidelines and additional resources)](https://github.com/apache/superset/wiki)
@@ -15,6 +15,8 @@ The Superset project is always happy to review proposals for new high quality vi
plugins. However, for highly custom viz types it is recommended to maintain a fork
of Superset, and add the custom built viz plugins by hand.
**Note:** Additional community-generated resources about creating and deploying custom visualization plugins can be found on the [Superset Wiki](https://github.com/apache/superset/wiki/Community-Resource-Library#creating-custom-data-visualizations)
### Prerequisites
In order to create a new viz plugin, you need the following:
+1 -1
View File
@@ -39,7 +39,7 @@ We use [Pylint](https://pylint.org/) for linting which can be invoked via:
tox -e pylint
```
In terms of best practices please avoid blanket disablement of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disablement should occur inline as it prevents masking issues and provides context as to why said message is disabled.
In terms of best practices please avoid blanket disabling of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disabling should occur inline as it prevents masking issues and provides context as to why said message is disabled.
Additionally, the Python code is auto-formatted using [Black](https://github.com/python/black) which
is configured as a pre-commit hook. There are also numerous [editor integrations](https://black.readthedocs.io/en/stable/integrations/editors.html)
+1 -1
View File
@@ -9,7 +9,7 @@ version: 1
#### OS Dependencies
Make sure your machine meets the [OS dependencies](https://superset.apache.org/docs/installation/installing-superset-from-scratch#os-dependencies) before following these steps.
Make sure your machine meets the [OS dependencies](/docs/installation/installing-superset-from-scratch#os-dependencies) before following these steps.
You also need to install MySQL or [MariaDB](https://mariadb.com/downloads).
Ensure that you are using Python version 3.9 or 3.10, then proceed with:
+4 -4
View File
@@ -126,17 +126,17 @@ CYPRESS_BASE_URL=<your url> npm run cypress open
See [`superset-frontend/cypress_build.sh`](https://github.com/apache/superset/blob/master/superset-frontend/cypress_build.sh).
As an alternative you can use docker-compose environment for testing:
As an alternative you can use docker compose environment for testing:
Make sure you have added below line to your /etc/hosts file:
`127.0.0.1 db`
If you already have launched Docker environment please use the following command to assure a fresh database instance:
`docker-compose down -v`
`docker compose down -v`
Launch environment:
`CYPRESS_CONFIG=true docker-compose up`
`CYPRESS_CONFIG=true docker compose up`
It will serve backend and frontend on port 8088.
@@ -176,7 +176,7 @@ superset:
Start Superset as usual
```bash
docker-compose up
docker compose up
```
Install the required libraries and packages to the docker container
+1 -1
View File
@@ -58,7 +58,7 @@ for your target language already exists in the `superset/translations` directory
ls superset/translations | grep -E "^[a-z]{2}\/"
```
If your language already has a pre-existing translation, skip to the next section
If your language already has a preexisting translation, skip to the next section
The following languages are already supported by Flask AppBuilder, and will make it
easier to translate the application to your target language:
@@ -19,7 +19,7 @@ The best way to report a bug is to file an issue on GitHub. Please include:
When posting Python stack traces, please quote them using
[Markdown blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/).
_Please note that feature requests opened as Github Issues will be moved to Discussions._
_Please note that feature requests opened as GitHub Issues will be moved to Discussions._
### Submit Ideas or Feature Requests
@@ -51,7 +51,7 @@ articles. See [Documentation](#documentation) for more details.
### Add Translations
If you are proficient in a non-English language, you can help translate
text strings from Superset's UI. You can jump in to the existing
text strings from Superset's UI. You can jump into the existing
language dictionaries at
`superset/translations/<language_code>/LC_MESSAGES/messages.po`, or
even create a dictionary for a new language altogether.
@@ -40,7 +40,7 @@ Then select your database type in the resulting modal:
<img src={useBaseUrl("/img/tutorial/tutorial_02_select_database.png" )} width="600" />{" "} <br/><br/>
Once you've selected a database, you can configure a number of advanced options in this window,
or for the purposes of this this walkthrough, you can click the link below all these fields:
or for the purposes of this walkthrough, you can click the link below all these fields:
<img src={useBaseUrl("/img/tutorial/tutorial_03a_database_connection_string_link.png" )} width="600" />{" "} <br/><br/>
@@ -185,7 +185,7 @@ Access to dashboards is managed via owners (users that have edit permissions to
Non-owner users access can be managed two different ways:
1. Dataset permissions - if you add to the relevant role permissions to datasets it automatically grants implicit access to all dashboards that uses those permitted datasets
2. Dashboard roles - if you enable **DASHBOARD_RBAC** [feature flag](https://superset.apache.org/docs/installation/configuring-superset#feature-flags) then you be able to manage which roles can access the dashboard
2. Dashboard roles - if you enable **DASHBOARD_RBAC** [feature flag](/docs/installation/configuring-superset#feature-flags) then you be able to manage which roles can access the dashboard
- Granting a role access to a dashboard will bypass dataset level checks. Having dashboard access implicitly grants read access to all the featured charts in the dashboard, and thereby also all the associated datasets.
- If no roles are specified for a dashboard, regular **Dataset permissions** will apply.
+1 -1
View File
@@ -1,4 +1,4 @@
{
"label": "Connecting to Databases",
"position": 3
"position": 5
}
+3 -6
View File
@@ -26,17 +26,14 @@ s3://... -> s3%3A//...
### PyAthena
You can also use [PyAthena library](https://pypi.org/project/PyAthena/) (no Java required) with the
You can also use the [PyAthena library](https://pypi.org/project/PyAthena/) (no Java required) with the
following connection string:
```
awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&...
```
The PyAthena library also allows to assume a specific IAM role, by [importing the datasource from YAML](https://superset.apache.org/docs/miscellaneous/importing-exporting-datasources/#importing-datasources-from-yaml) and passing extra parameters:
The PyAthena library also allows to assume a specific IAM role which you can define by adding following parameters in Superset's Athena database connection UI under ADVANCED --> Other --> ENGINE PARAMETERS.
```
databases:
- database_name: awsathena
sqlalchemy_uri: awsathena+rest://athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&...
extra: "{\"engine_params\": {\"connect_args\": {\"role_arn\": \"{{ ROLE_ARN }}\" }}}"
{"connect_args":{"role_arn":"<role arn>"}}
```
+4 -1
View File
@@ -13,7 +13,7 @@ The recommended connector library for BigQuery is
### Install BigQuery Driver
Follow the steps [here](/docs/databases/docker-add-drivers) about how to
install new database drivers when setting up Superset locally via docker-compose.
install new database drivers when setting up Superset locally via docker compose.
```
echo "sqlalchemy-bigquery" >> ./docker/requirements-local.txt
@@ -87,3 +87,6 @@ You should then be able to connect to your BigQuery datasets.
To be able to upload CSV or Excel files to BigQuery in Superset, you'll need to also add the
[pandas_gbq](https://github.com/pydata/pandas-gbq) library.
Currently, Google BigQuery python sdk is not compatible with `gevent`, due to some dynamic monkeypatching on python core library by `gevent`.
So, when you deploy Superset with `gunicorn` server, you have to use worker type except `gevent`.
+2 -2
View File
@@ -10,13 +10,13 @@ version: 1
To use ClickHouse with Superset, you will need to add the following Python library:
```
clickhouse-connect>=0.4.1
clickhouse-connect>=0.6.8
```
If running Superset using Docker Compose, add the following to your `./docker/requirements-local.txt` file:
```
clickhouse-connect>=0.4.1
clickhouse-connect>=0.6.8
```
The recommended connector library for ClickHouse is
+23
View File
@@ -0,0 +1,23 @@
---
title: Databend
hide_title: true
sidebar_position: 39
version: 1
---
## Databend
The recommended connector library for Databend is [databend-sqlalchemy](https://pypi.org/project/databend-sqlalchemy/).
Superset has been tested on `databend-sqlalchemy>=0.2.3`.
The recommended connection string is:
```
databend://{username}:{password}@{host}:{port}/{database_name}
```
Here's a connection string example of Superset connecting to a Databend database:
```
databend://user:password@localhost:8000/default?secure=false
```
+1 -1
View File
@@ -28,7 +28,7 @@ We added a new configuration option where the admin can define their preferred d
# displayed prominently in the "Add Database" dialog. You should
# use the "engine_name" attribute of the corresponding DB engine spec
# in `superset/db_engine_specs/`.
PREFERRED_DATABASES: List[str] = [
PREFERRED_DATABASES: list[str] = [
"PostgreSQL",
"Presto",
"MySQL",
+23 -53
View File
@@ -7,87 +7,57 @@ version: 1
## Adding New Database Drivers in Docker
Superset requires a Python database driver to be installed for each additional type of database you
want to connect to. When setting up Superset locally via `docker-compose`, the drivers and packages
contained in
[requirements.txt](https://github.com/apache/superset/blob/master/requirements.txt) and
[requirements-dev.txt](https://github.com/apache/superset/blob/master/requirements-dev.txt)
will be installed automatically.
Superset requires a Python database driver to be installed for each additional type of database you want to connect to.
In this section, we'll walk through how to install the MySQL connector library. The connector
library installation process is the same for all additional libraries and we'll end this section
with the recommended connector library for each database.
In this example, we'll walk through how to install the MySQL connector library. The connector library installation process is the same for all additional libraries.
### 1. Determine the driver you need
To figure out how to install the [database driver](/docs/databases/installing-database-drivers) of your choice.
Consult the [list of database drivers](/docs/databases/installing-database-drivers) and find the PyPI package needed to connect to your database. In this example, we're connecting to a MySQL database, so we'll need the `mysqlclient` connector library.
In the example, we'll walk through the process of installing a MySQL driver in Superset.
### 2. Install the driver in the container
### 2. Install MySQL Driver
We need to get the `mysqlclient` library installed into the Superset docker container (it doesn't matter if it's installed on the host machine). We could enter the running container with `docker exec -it <container_name> bash` and run `pip install mysqlclient` there, but that wouldn't persist permanently.
As we are currently running inside of a Docker container via `docker compose`, we cannot simply run
`pip install mysqlclient` on our local shell and expect the drivers to be installed within the
Docker containers for superset.
To address this, the Superset `docker compose` deployment uses the convention of a `requirements-local.txt` file. All packages listed in this file will be installed into the container from PyPI at runtime. This file will be ignored by Git for the purposes of local development.
In order to address this, the Superset `docker compose` setup comes with a mechanism for you to
install packages locally, which will be ignored by Git for the purposes of local development. Please
follow these steps:
Create `requirements-local.txt`
Create the file `requirements-local.txt` in a subdirectory called `docker` that exists in the directory with your `docker-compose.yml` or `docker-compose-non-dev.yml` file.
```
# From the repo root...
# Run from the repo root:
touch ./docker/requirements-local.txt
```
Add the driver selected in step above:
Add the driver identified in step above. You can use a text editor or do it from the command line like:
```
echo "mysqlclient" >> ./docker/requirements-local.txt
```
Rebuild your local image with the new driver baked in:
**If you are running a stock (non-customized) Superset image**, you are done. Launch Superset with `docker compose -f docker-compose-non-dev.yml up` and the driver should be present.
You can check its presence by entering the running container with `docker exec -it <container_name> bash` and running `pip freeze`. The PyPI package should be present in the printed list.
**If you're running a customized docker image**, rebuild your local image with the new driver baked in:
```
docker-compose build --force-rm
docker compose build --force-rm
```
After the rebuild of the Docker images is complete (which may take a few minutes) you can relaunch using the following command:
```
docker-compose up
```
The other option is to start Superset via Docker Compose is using the recipe in `docker-compose-non-dev.yml`, which will use pre-built frontend assets and skip the building of front-end assets:
```
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
```
After the rebuild of the Docker images is complete, relaunch Superset by running `docker compose up`.
### 3. Connect to MySQL
Now that you've got a MySQL driver installed locally, you should be able to test it out.
Now that you've got a MySQL driver installed in your container, you should be able to connect to your database via the Superset web UI.
We can now create a Datasource in Superset that can be used to connect to a MySQL instance. Assuming
your MySQL instance is running locally and can be accessed via localhost, use the following
connection string in “SQL Alchemy URI”, by going to Sources > Databases > + icon (to add a new
datasource) in Superset.
As an admin user, go to Settings -> Data: Database Connections and click the +DATABASE button. From there, follow the steps on the [Using Database Connection UI page](/docs/databases/db-connection-ui).
For Docker running in Linux:
Consult the page for your specific database type in the Superset documentation to determine the connection string and any other parameters you need to input. For instance, on the [MySQL page](/docs/databases/mysql), we see that the connection string to a local MySQL database differs depending on whether the setup is running on Linux or Mac.
```
mysql://mysqluser:mysqluserpassword@localhost/example?charset=utf8
```
Click the “Test Connection” button, which should result in a popup message saying, "Connection looks good!".
For Docker running in OSX:
### 4. Troubleshooting
```
mysql://mysqluser:mysqluserpassword@docker.for.mac.host.internal/example?charset=utf8
```
If the test fails, review your docker logs for error messages. Superset uses SQLAlchemy to connect to databases; to troubleshoot the connection string for your database, you might start Python in the Superset application container or host environment and try to connect directly to the desired database and fetch data. This eliminates Superset for the purposes of isolating the problem.
Then click “Test Connection”, which should give you an “OK” message. If not, please look at your
terminal for error messages, and reach out for help.
You can repeat this process for every database you want superset to be able to connect to.
Repeat this process for each different type of database you want Superset to be able to connect to.
+26
View File
@@ -0,0 +1,26 @@
---
title: Apache Doris
hide_title: true
sidebar_position: 5
version: 1
---
## Doris
The [sqlalchemy-doris](https://pypi.org/project/pydoris/) library is the recommended way to connect to Apache Doris through SQLAlchemy.
You'll need the following setting values to form the connection string:
- **User**: User Name
- **Password**: Password
- **Host**: Doris FE Host
- **Port**: Doris FE port
- **Catalog**: Catalog Name
- **Database**: Database Name
Here's what the connection string looks like:
```
doris://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>
```
+5 -5
View File
@@ -10,7 +10,7 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
## Apache Druid
A native connector to Druid ships with Superset (behind the `DRUID_IS_ACTIVE` flag) but this is
slowly getting deprecated in favor of SQLAlchemy / DBAPI connector made available in the
slowly getting deprecated in favor of the SQLAlchemy / DBAPI connector made available in the
[pydruid library](https://pythonhosted.org/pydruid/).
The connection string looks like:
@@ -20,10 +20,10 @@ druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql
```
Here's a breakdown of the key components of this connection string:
User: username portion of the credentials needed to connect to your database
Password: password portion of the credentials needed to connect to your database
Host: IP address (or URL) of the host machine that's running your database
Port: specific port that's exposed on your host machine where your database is running
- `User`: username portion of the credentials needed to connect to your database
- `Password`: password portion of the credentials needed to connect to your database
- `Host`: IP address (or URL) of the host machine that's running your database
- `Port`: specific port that's exposed on your host machine where your database is running
### Customizing Druid Connection
+3 -3
View File
@@ -45,9 +45,9 @@ A common pattern is to use environment variables to make secrets available.
```python
def example_password_as_env_var(url):
# assuming the uri looks like
# mysql://localhost?superset_user:{SUPERSET_PASSWORD}
return url.password.format(os.environ)
# assuming the uri looks like
# mysql://localhost?superset_user:{SUPERSET_PASSWORD}
return url.password.format(**os.environ)
SQLALCHEMY_CUSTOM_PASSWORD_STORE = example_password_as_env_var
```
@@ -22,46 +22,48 @@ as well as the packages needed to connect to the databases you want to access th
Some of the recommended packages are shown below. Please refer to [setup.py](https://github.com/apache/superset/blob/master/setup.py) for the versions that are compatible with Superset.
| Database | PyPI package | Connection String |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| [Amazon Athena](/docs/databases/athena) | `pip install pyathena[pandas]` , `pip install PyAthenaJDBC` | `awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{ ` |
| [Amazon DynamoDB](/docs/databases/dynamodb) | `pip install pydynamodb` | `dynamodb://{access_key_id}:{secret_access_key}@dynamodb.{region_name}.amazonaws.com?connector=superset` |
| [Amazon Redshift](/docs/databases/redshift) | `pip install sqlalchemy-redshift` | ` redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>` |
| [Apache Drill](/docs/databases/drill) | `pip install sqlalchemy-drill` | `drill+sadrill:// For JDBC drill+jdbc://` |
| [Apache Druid](/docs/databases/druid) | `pip install pydruid` | `druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql` |
| [Apache Hive](/docs/databases/hive) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Apache Impala](/docs/databases/impala) | `pip install impyla` | `impala://{hostname}:{port}/{database}` |
| [Apache Kylin](/docs/databases/kylin) | `pip install kylinpy` | `kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>` |
| [Apache Pinot](/docs/databases/pinot) | `pip install pinotdb` | `pinot://BROKER:5436/query?server=http://CONTROLLER:5983/` |
| [Apache Solr](/docs/databases/solr) | `pip install sqlalchemy-solr` | `solr://{username}:{password}@{hostname}:{port}/{server_path}/{collection}` |
| [Apache Spark SQL](/docs/databases/spark-sql) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Ascend.io](/docs/databases/ascend) | `pip install impyla` | `ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true` |
| [Azure MS SQL](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema` |
| [Big Query](/docs/databases/bigquery) | `pip install sqlalchemy-bigquery` | `bigquery://{project_id}` |
| [ClickHouse](/docs/databases/clickhouse) | `pip install clickhouse-connect` | `clickhousedb://{username}:{password}@{hostname}:{port}/{database}` |
| [CockroachDB](/docs/databases/cockroachdb) | `pip install cockroachdb` | `cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable` |
| [Dremio](/docs/databases/dremio) | `pip install sqlalchemy_dremio` | `dremio://user:pwd@host:31010/` |
| [Elasticsearch](/docs/databases/elasticsearch) | `pip install elasticsearch-dbapi` | `elasticsearch+http://{user}:{password}@{host}:9200/` |
| [Exasol](/docs/databases/exasol) | `pip install sqlalchemy-exasol` | `exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC` |
| [Google Sheets](/docs/databases/google-sheets) | `pip install shillelagh[gsheetsapi]` | `gsheets://` |
| [Firebolt](/docs/databases/firebolt) | `pip install firebolt-sqlalchemy` | `firebolt://{username}:{password}@{database} or firebolt://{username}:{password}@{database}/{engine_name}` |
| [Hologres](/docs/databases/hologres) | `pip install psycopg2` | `postgresql+psycopg2://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [IBM Db2](/docs/databases/ibm-db2) | `pip install ibm_db_sa` | `db2+ibm_db://` |
| [IBM Netezza Performance Server](/docs/databases/netezza) | `pip install nzalchemy` | `netezza+nzpy://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](/docs/databases/mysql) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Oracle](/docs/databases/oracle) | `pip install cx_Oracle` | `oracle://` |
| [PostgreSQL](/docs/databases/postgres) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Trino](/docs/databases/trino) | `pip install trino` | `trino://{username}:{password}@{hostname}:{port}/{catalog}` |
| [Presto](/docs/databases/presto) | `pip install pyhive` | `presto://` |
| [SAP Hana](/docs/databases/hana) | `pip install hdbcli sqlalchemy-hana or pip install apache-superset[hana]` | `hana://{username}:{password}@{host}:{port}` |
| [StarRocks](/docs/databases/starrocks) | `pip install starrocks` | `starrocks://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Snowflake](/docs/databases/snowflake) | `pip install snowflake-sqlalchemy` | `snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}` |
| SQLite | No additional library needed | `sqlite://` |
| [SQL Server](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://` |
| [Teradata](/docs/databases/teradata) | `pip install teradatasqlalchemy` | `teradatasql://{user}:{password}@{host}` |
| [TimescaleDB](/docs/databases/timescaledb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>:<Port>/<Database Name>` |
| [Vertica](/docs/databases/vertica) | `pip install sqlalchemy-vertica-python` | `vertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [YugabyteDB](/docs/databases/yugabytedb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| Database | PyPI package | Connection String |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Amazon Athena](/docs/databases/athena) | `pip install pyathena[pandas]` , `pip install PyAthenaJDBC` | `awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&... ` |
| [Apache Doris](/docs/databases/doris) | `pip install pydoris` | `doris://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Amazon DynamoDB](/docs/databases/dynamodb) | `pip install pydynamodb` | `dynamodb://{access_key_id}:{secret_access_key}@dynamodb.{region_name}.amazonaws.com?connector=superset` |
| [Amazon Redshift](/docs/databases/redshift) | `pip install sqlalchemy-redshift` | ` redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>` |
| [Apache Drill](/docs/databases/drill) | `pip install sqlalchemy-drill` | `drill+sadrill:// For JDBC drill+jdbc://` |
| [Apache Druid](/docs/databases/druid) | `pip install pydruid` | `druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql` |
| [Apache Hive](/docs/databases/hive) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Apache Impala](/docs/databases/impala) | `pip install impyla` | `impala://{hostname}:{port}/{database}` |
| [Apache Kylin](/docs/databases/kylin) | `pip install kylinpy` | `kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>` |
| [Apache Pinot](/docs/databases/pinot) | `pip install pinotdb` | `pinot://BROKER:5436/query?server=http://CONTROLLER:5983/` |
| [Apache Solr](/docs/databases/solr) | `pip install sqlalchemy-solr` | `solr://{username}:{password}@{hostname}:{port}/{server_path}/{collection}` |
| [Apache Spark SQL](/docs/databases/spark-sql) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Ascend.io](/docs/databases/ascend) | `pip install impyla` | `ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true` |
| [Azure MS SQL](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema` |
| [Big Query](/docs/databases/bigquery) | `pip install sqlalchemy-bigquery` | `bigquery://{project_id}` |
| [ClickHouse](/docs/databases/clickhouse) | `pip install clickhouse-connect` | `clickhousedb://{username}:{password}@{hostname}:{port}/{database}` |
| [CockroachDB](/docs/databases/cockroachdb) | `pip install cockroachdb` | `cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable` |
| [Dremio](/docs/databases/dremio) | `pip install sqlalchemy_dremio` | `dremio://user:pwd@host:31010/` |
| [Elasticsearch](/docs/databases/elasticsearch) | `pip install elasticsearch-dbapi` | `elasticsearch+http://{user}:{password}@{host}:9200/` |
| [Exasol](/docs/databases/exasol) | `pip install sqlalchemy-exasol` | `exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC` |
| [Google Sheets](/docs/databases/google-sheets) | `pip install shillelagh[gsheetsapi]` | `gsheets://` |
| [Firebolt](/docs/databases/firebolt) | `pip install firebolt-sqlalchemy` | `firebolt://{username}:{password}@{database} or firebolt://{username}:{password}@{database}/{engine_name}` |
| [Hologres](/docs/databases/hologres) | `pip install psycopg2` | `postgresql+psycopg2://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [IBM Db2](/docs/databases/ibm-db2) | `pip install ibm_db_sa` | `db2+ibm_db://` |
| [IBM Netezza Performance Server](/docs/databases/netezza) | `pip install nzalchemy` | `netezza+nzpy://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](/docs/databases/mysql) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Oracle](/docs/databases/oracle) | `pip install cx_Oracle` | `oracle://` |
| [PostgreSQL](/docs/databases/postgres) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Presto](/docs/databases/presto) | `pip install pyhive` | `presto://` |
| [Rockset](/docs/databases/rockset) | `pip install rockset-sqlalchemy` | `rockset://<api_key>:@<api_server>` |
| [SAP Hana](/docs/databases/hana) | `pip install hdbcli sqlalchemy-hana or pip install apache-superset[hana]` | `hana://{username}:{password}@{host}:{port}` |
| [StarRocks](/docs/databases/starrocks) | `pip install starrocks` | `starrocks://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Snowflake](/docs/databases/snowflake) | `pip install snowflake-sqlalchemy` | `snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}` |
| SQLite | No additional library needed | `sqlite://path/to/file.db?check_same_thread=false` |
| [SQL Server](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://` |
| [Teradata](/docs/databases/teradata) | `pip install teradatasqlalchemy` | `teradatasql://{user}:{password}@{host}` |
| [TimescaleDB](/docs/databases/timescaledb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>:<Port>/<Database Name>` |
| [Trino](/docs/databases/trino) | `pip install trino` | `trino://{username}:{password}@{hostname}:{port}/{catalog}` |
| [Vertica](/docs/databases/vertica) | `pip install sqlalchemy-vertica-python` | `vertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [YugabyteDB](/docs/databases/yugabytedb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
---
Note that many other databases are supported, the main criteria being the existence of a functional
+48
View File
@@ -0,0 +1,48 @@
---
title: Querying across databases
hide_title: true
sidebar_position: 42
version: 1
---
## Querying across databases
Superset offers an experimental feature for querying across different databases. This is done via a special database called "Superset meta database" that uses the "superset://" SQLAlchemy URI. When using the database it's possible to query any table in any of the configured databases using the following syntax:
```sql
SELECT * FROM "database name.[[catalog.].schema].table name";
```
For example:
```sql
SELECT * FROM "examples.birth_names";
```
Spaces are allowed, but periods in the names must be replaced by `%2E`. Eg:
```sql
SELECT * FROM "Superset meta database.examples%2Ebirth_names";
```
The query above returns the same rows as `SELECT * FROM "examples.birth_names"`, and also shows that the meta database can query tables from any table — even itself!
## Considerations
Before enabling this feature, there are a few considerations that you should have in mind. First, the meta database enforces permissions on the queried tables, so users should only have access via the database to tables that they originally have access to. Nevertheless, the meta database is a new surface for potential attacks, and bugs could allow users to see data they should not.
Second, there are performance considerations. The meta database will push any filtering, sorting, and limiting to the underlying databases, but any aggregations and joins will happen in memory in the process running the query. Because of this, it's recommended to run the database in async mode, so queries are executed in Celery workers, instead of the web workers. Additionally, it's possible to specify a hard limit on how many rows are returned from the underlying databases.
## Enabling the meta database
To enable the Superset meta database, first you need to set the `ENABLE_SUPERSET_META_DB` feature flag to true. Then, add a new database of type "Superset meta database" with the SQLAlchemy URI "superset://".
If you enable DML in the meta database users will be able to run DML queries on underlying databases **as long as DML is also enabled in them**. This allows users to run queries that move data across databases.
Second, you might want to change the value of `SUPERSET_META_DB_LIMIT`. The default value is 1000, and defines how many are read from each database before any aggregations and joins are executed. You can also set this value `None` if you only have small tables.
Additionally, you might want to restrict the databases to with the meta database has access to. This can be done in the database configuration, under "Advanced" -> "Other" -> "ENGINE PARAMETERS" and adding:
```json
{"allowed_dbs":["Google Sheets","examples"]}
```
+2 -1
View File
@@ -17,7 +17,8 @@ mysql://{username}:{password}@{host}/{database}
Host:
- For Localhost or Docker running Linux: `localhost` or `127.0.0.1`
- For Localhost: `localhost` or `127.0.0.1`
- Docker running on Linux: `172.18.0.1`
- For On Prem: IP address or Host name
- For Docker running in OSX: `docker.for.mac.host.internal`
Port: `3306` by default
+6
View File
@@ -14,3 +14,9 @@ The expected connection string is formatted as follows:
```
pinot+http://<pinot-broker-host>:<pinot-broker-port>/query?controller=http://<pinot-controller-host>:<pinot-controller-port>/``
```
The expected connection string using username and password is formatted as follows:
```
pinot://<username>:<password>@<pinot-broker-host>:<pinot-broker-port>/query/sql?controller=http://<pinot-controller-host>:<pinot-controller-port>/verify_ssl=true``
```
+1 -1
View File
@@ -7,7 +7,7 @@ version: 1
## Postgres
Note that, if you're using docker-compose, the Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
Note that, if you're using docker compose, the Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
comes out of the box with Superset.
Postgres sample connection parameters:
+43 -2
View File
@@ -10,7 +10,9 @@ version: 1
The [sqlalchemy-redshift](https://pypi.org/project/sqlalchemy-redshift/) library is the recommended
way to connect to Redshift through SQLAlchemy.
You'll need to the following setting values to form the connection string:
This dialect requires either [redshift_connector](https://pypi.org/project/redshift-connector/) or [psycopg2](https://pypi.org/project/psycopg2/) to work properly.
You'll need to set the following values to form the connection string:
- **User Name**: userName
- **Password**: DBPassword
@@ -18,8 +20,47 @@ You'll need to the following setting values to form the connection string:
- **Database Name**: Database Name
- **Port**: default 5439
Here's what the connection string looks like:
### psycopg2
Here's what the SQLALCHEMY URI looks like:
```
redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>
```
### redshift_connector
Here's what the SQLALCHEMY URI looks like:
```
redshift+redshift_connector://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>
```
#### Using IAM-based credentials with Redshift cluster:
[Amazon redshift cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) also supports generating temporary IAM-based database user credentials.
Your superset app's [IAM role should have permissions](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-role-permissions.html) to call the `redshift:GetClusterCredentials` operation.
You have to define the following arguments in Superset's redshift database connection UI under ADVANCED --> Others --> ENGINE PARAMETERS.
```
{"connect_args":{"iam":true,"database":"<database>","cluster_identifier":"<cluster_identifier>","db_user":"<db_user>"}}
```
and SQLALCHEMY URI should be set to `redshift+redshift_connector://`
#### Using IAM-based credentials with Redshift serverless:
[Redshift serverless](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-whatis.html) supports connection using IAM roles.
Your superset app's IAM role should have `redshift-serverless:GetCredentials` and `redshift-serverless:GetWorkgroup` permissions on Redshift serverless workgroup.
You have to define the following arguments in Superset's redshift database connection UI under ADVANCED --> Others --> ENGINE PARAMETERS.
```
{"connect_args":{"iam":true,"is_serverless":true,"serverless_acct_id":"<aws account number>","serverless_work_group":"<redshift work group>","database":"<database>","user":"IAMR:<superset iam role name>"}}
```
+10 -1
View File
@@ -10,7 +10,16 @@ version: 1
The connection string for Rockset is:
```
rockset://apikey:{your-apikey}@api.rs2.usw2.rockset.com/
rockset://{api key}:@{api server}
```
Get your API key from the [Rockset console](https://console.rockset.com/apikeys).
Find your API server from the [API reference](https://rockset.com/docs/rest-api/#introduction). Omit the `https://` portion of the URL.
To target to a specific virtual instance, use this URI format:
```
rockset://{api key}:@{api server}/{VI ID}
```
For more complete instructions, we recommend the [Rockset documentation](https://docs.rockset.com/apache-superset/).

Some files were not shown because too many files have changed in this diff Show More