Compare commits

..

834 Commits

Author SHA1 Message Date
Beto Dealmeida
4a03e80fcb fix: pass request context to async queries 2024-07-01 17:11:11 -04:00
dependabot[bot]
cf031bbee4 chore(deps-dev): bump webpack from 5.91.0 to 5.92.1 in /docs (#29429)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 15:04:47 -06:00
dependabot[bot]
1e73820277 chore(deps): bump @algolia/client-search from 4.23.3 to 4.24.0 in /docs (#29428)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 15:03:13 -06:00
dependabot[bot]
839ca82a19 chore(deps): bump react-markdown from 8.0.3 to 8.0.7 in /superset-frontend (#29439)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 14:41:10 -06:00
Maxime Beauchemin
446a3b22dc chore: move all GHAs to ubuntu-22.04 (#29447) 2024-07-01 14:19:25 -06:00
saghatelian
028665030f chore: Added 10Web to the list of organizations that use Apache Superset (#29442) 2024-07-01 14:47:08 -03:00
Ville Brofeldt
7d6e933348 chore(key-value): convert command to dao (#29344) 2024-07-01 20:22:11 +03:00
dependabot[bot]
0cf676b574 chore(deps-dev): bump ts-jest from 29.1.2 to 29.1.5 in /superset-websocket (#29423)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 11:01:32 -06:00
dependabot[bot]
7727b9dc79 chore(deps-dev): bump eslint-import-resolver-typescript from 2.5.0 to 3.6.1 in /superset-frontend (#29435)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 10:06:14 -06:00
dependabot[bot]
5aac1b59b1 chore(deps): bump rehype-raw from 6.1.1 to 7.0.0 in /superset-frontend (#29433)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 10:03:39 -06:00
dependabot[bot]
cfe29406e5 chore(deps-dev): bump typescript from 5.4.5 to 5.5.2 in /docs (#29432)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 10:02:49 -06:00
dependabot[bot]
42773b9b1c chore(deps): bump stream from 0.0.2 to 0.0.3 in /docs (#29431)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 10:02:32 -06:00
Hex Café
179cf269c6 fix: SQL label missing for non-group-by queries (#29420) 2024-07-01 11:59:25 +03:00
Shubhendra Kushwaha
ba405bacbf docs: Update INTHEWILD.md with Aveti Learning (#29413) 2024-06-30 15:08:15 +03:00
ari-jane
5c9352fae4 docs: update INTHEWILD.md with bluquist (#29399) 2024-06-28 12:46:06 -07:00
Đỗ Trọng Hải
e274925b2a chore(frontend): remove obsolete ESLint rules in tests (#29405)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-06-28 12:45:38 -07:00
John Bodley
8fb8199a55 chore(dao/command): Add transaction decorator to try to enforce "unit of work" (#24969) 2024-06-28 12:33:56 -07:00
Đỗ Trọng Hải
a3f0d00714 refactor(src/explore/comp/controls/metricControl): migrate Enzyme test to RTL syntax (#29380)
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2024-06-28 13:22:19 -03:00
Jan Suleiman
f128718d34 docs: fix typos (#29400) 2024-06-28 09:31:54 -06:00
dependabot[bot]
ed3c66b6a6 chore(deps): bump scroll-into-view-if-needed from 2.2.28 to 3.1.0 in /superset-frontend (#28816)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-28 09:30:58 -06:00
Geido
66bc8ceddd chore(Table): Add aria-label to Table page size selector (#29391) 2024-06-28 16:19:58 +02:00
Geido
2a587a771c feat: Add Ant Design 5 Theme (#29328) 2024-06-28 15:16:05 +02:00
Evan Rusackas
c70a9d0e67 fix(readme): changing video from mp4 to webm format (#29392) 2024-06-27 11:30:59 -06:00
Jan Suleiman
9c5c124155 docs: fix typo in docker compose doc (#29390) 2024-06-27 10:25:53 -07:00
Daniel Vaz Gaspar
59d1eea4c8 ci: remove update repo on issue comment (#29388) 2024-06-27 10:25:07 -07:00
John Bodley
9d405738c0 chore(tests): Remove unnecessary mock (#29386) 2024-06-27 07:28:50 -07:00
John Bodley
466dda2b14 chore(security): Clean up session/commit logic (#29381) 2024-06-26 12:57:51 -07:00
John Bodley
5948dac889 chore(ci): Start Celery worker as a background process (#29371) 2024-06-26 12:10:05 -07:00
John Bodley
53450b7e2f fix(tox): Address issue with generative environment variables (#29368) 2024-06-26 12:01:50 -07:00
John Bodley
731cfb1553 chore(tests): Mark TestConnectionDatabaseCommand as non-test related (#29366) 2024-06-26 12:01:26 -07:00
Evan Rusackas
c49a6dfdef feat(e2e): implementing Cypress Dashboard on master branch merges (#29351) 2024-06-26 09:34:30 -06:00
Michael S. Molina
d4054e3d85 feat: Adds chart IDs option to migrate-viz (#29361) 2024-06-26 09:20:29 -03:00
Michael S. Molina
c83d5b88e1 feat: Adds the ECharts Sankey chart (#29329) 2024-06-26 08:36:07 -03:00
JUST.in DO IT
58f33d227a fix(explore): don't respect y-axis formatting (#29367) 2024-06-26 08:16:36 -03:00
Ross Mabbett
de6a518161 fix(Query): Parse html string error responses to avoid displaying raw HTML as error message (#29321) 2024-06-25 20:48:35 -04:00
Ross Mabbett
b5a72e21f7 refactor(Homepage): Migrate Home.test to RTL (#29353) 2024-06-25 17:58:26 -04:00
Jessie R
d74d3a87bb fix: default logging (#27777) 2024-06-25 13:25:21 -07:00
Đỗ Trọng Hải
dffad48504 feat(build): uplift Jest to v29 (#29118)
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2024-06-25 11:56:14 -06:00
John Bodley
f9f70e3e55 chore(tests): Fix MySQL logic (#29356) 2024-06-25 10:20:04 -07:00
John Bodley
c12b4e9cba chore(tests): Cleanup Celery tests (#29355) 2024-06-25 10:19:16 -07:00
John Bodley
d69363ef11 fix(tests): Ensure fixture is invoked (#29352) 2024-06-25 10:17:58 -07:00
Michael S. Molina
708afb7146 fix(revert 27883): Excess padding in horizontal Bar charts (#29345) 2024-06-25 13:33:53 -03:00
Michael S. Molina
213fd69b2b chore: Rename Totals to Summary in table chart (#29360) 2024-06-25 13:33:16 -03:00
Régis Behmo
5ffa616d98 fix: actually write changes on "superset import-datasources" (#14817) 2024-06-25 09:25:38 -06:00
JUST.in DO IT
160cece017 fix(explore): restored hidden field values has discarded (#29349) 2024-06-24 14:52:32 -07:00
Michael S. Molina
ee5227733b fix: Cannot delete empty column inside a tab using the dashboard editor (#29346) 2024-06-24 11:36:18 -06:00
Martin De Wulf
01ffc1227a docs: Update INTHEWILD.md with Bluesquare (#29337) 2024-06-24 11:22:29 -06:00
Evan Rusackas
4fe04e63ac chore(e2e): simplify Cypress record key usage (#29327) 2024-06-24 10:07:04 -06:00
Michael S. Molina
fe3ba12801 refactor: Adds the sort_by_metric control to sharedControls (#29325) 2024-06-21 14:10:33 -03:00
Daniel Vaz Gaspar
79d84f30f5 docs: update CVEs fixed on 4.0.1 and 3.1.3 (#29313) 2024-06-21 12:08:40 +01:00
Jessie R
9444c6bd4b fix: Remove recursive repr call (#29314) 2024-06-21 10:24:50 +03:00
dependabot[bot]
8c990adabe build(deps): bump deck.gl from 9.0.6 to 9.0.12 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28296)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-20 21:53:09 -06:00
Evan Rusackas
118552d4d2 chore(e2e): more instructions for manual test runs. (#29319) 2024-06-20 17:47:24 -06:00
Maxime Beauchemin
514eda82fb fix: don't strip SQL comments in Explore - 2nd try (#28753) 2024-06-20 14:30:03 -07:00
Maxime Beauchemin
5e060cef7c feat: add new SQLLAB_FORCE_RUN_ASYNC feature flag (#29231)
Co-authored-by: Geido <60598000+geido@users.noreply.github.com>
2024-06-20 14:28:46 -07:00
Aditya Mishra
6378ec5d69 feat(dashboard): Enables pivot table download option at dashboard level (#29123)
Co-authored-by: adimyth <aditya@fnp.dev>
2024-06-20 13:28:10 -04:00
Evan Rusackas
03143bf9ad chore(applitools): making tests more static for consistent testing (#28201) 2024-06-20 10:41:59 -06:00
Jack
a5355d86fc feat: Dashboard tabs api endpoint (#27962) 2024-06-20 18:40:54 +02:00
Ed Jannoo
70f6f5f3ef fix(ui): Disable ability to export data when user does not have the correct permission (#28429) 2024-06-20 09:26:51 -06:00
Geido
313ee596f5 fix(Dashboard): Color inconsistency on refreshes and conflicts (#27439) 2024-06-20 15:30:11 +02:00
Ville Brofeldt
1770f8b783 fix(key-value): use flush instead of commit (#29286) 2024-06-20 16:19:41 +03:00
Ville Brofeldt
03969d5f90 chore(distributed-lock): refactor tests (#29302) 2024-06-20 15:58:25 +03:00
Ville Brofeldt
172ddb47d5 fix(metastore-cache): prune before add (#29301) 2024-06-20 14:59:32 +03:00
dependabot[bot]
99fc04b9a6 build(deps-dev): bump ws from 7.5.7 to 7.5.10 in /superset-embedded-sdk (#29308)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-19 11:21:58 -06:00
Evan Rusackas
36b1535199 chore(e2e): using updated repo secret, new Cypress project id (#29296) 2024-06-19 08:40:47 -06:00
BoMBaY
188b5f4781 docs: add Agoda to users list (#29300) 2024-06-19 12:24:07 +03:00
Ville Brofeldt
9f70697046 chore: use json codec for key value lock (#29285) 2024-06-19 01:33:47 +03:00
Maxime Beauchemin
796726376a chore: make flask-talisman work with test config (#29277) 2024-06-18 14:46:40 -07:00
JUST.in DO IT
4537ab6b1a fix(sqllab): excessive API calls for schemas (#29279) 2024-06-18 14:02:40 -07:00
JUST.in DO IT
725afc3848 fix(sqllab): invalid empty state on switch tab (#29278) 2024-06-18 11:45:09 -07:00
ka-weihe
527f1d20ad fix: filters not updating with force update when caching is enabled (#29291) 2024-06-18 13:56:56 -03:00
Maxime Beauchemin
ab7f8ad1bf docs: remove comment header in README.md (#29273) 2024-06-18 09:16:14 -07:00
dependabot[bot]
c7b8ae9013 build(deps): bump ws from 7.5.9 to 7.5.10 in /docs (#29275)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 16:20:34 -06:00
dependabot[bot]
358e83a849 build(deps): bump ws from 8.17.0 to 8.17.1 in /superset-websocket (#29276)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 16:20:09 -06:00
Maxime Beauchemin
d49d79121c chore: trigger CI jobs on all release-related branches (#29274) 2024-06-17 13:42:58 -07:00
Elizabeth Thompson
ae7c40920e chore: translate strings to French (#29247) 2024-06-17 13:01:04 -07:00
Jack
914ebd9ba3 fix(permalink): adding anchor to dashboard permalink generation (#28744) 2024-06-17 17:52:31 +02:00
Michael S. Molina
08e44c0850 feat: Improves the Drill By feature (#29242)
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2024-06-17 09:25:20 -03:00
JUST.in DO IT
ddc9f06786 refactor(sqllab): nonblocking delete query editor (#29233) 2024-06-14 12:25:55 -07:00
Antonio Rivero
7ddea62331 feat(table): Table with Time Comparison (#28057)
Co-authored-by: Lily Kuang <lily@preset.io>
Co-authored-by: lilykuang <jialikuang@gmail.com>
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
2024-06-14 20:21:43 +02:00
Geido
37753cbdc2 fix: Catalog with restricted permissions produces an error during database connection (#29257) 2024-06-14 19:48:47 +02:00
Michael S. Molina
16c449748a fix: Custom SQL filter control (#29260) 2024-06-14 10:26:58 -07:00
Ross Mabbett
2418efe85c test(Explorer): Fix minor errors in ExploreViewContainer syntax, add tests (#29249) 2024-06-14 13:40:05 -03:00
John Bodley
b50e3af07c fix(sqllab): Do not strip comments when executing SQL statements (#29248) 2024-06-14 13:38:36 -03:00
JUST.in DO IT
05829cbda9 chore(sqllab): Add logging for actions (#28876) 2024-06-14 09:35:17 -07:00
Mehmet Salih Yavuz
66bd0ce3d0 test(storybook): fix component stories (#29245) 2024-06-14 16:33:08 +02:00
Vitor Avila
3dadefcfb0 feat: Support a dynamic minimum interval for alerts and reports (#29241) 2024-06-13 19:12:45 -03:00
Ross Mabbett
0dc9215c89 fix(Explore): Keep necessary form data to allow query mode switching (#29234) 2024-06-13 14:30:49 -03:00
John Bodley
daf37cbe58 chore: Remove the need for explicit bubble up of certain exceptions (#29235) 2024-06-13 09:36:59 -07:00
John Bodley
f185bbed3c chore: Set isolation level to READ COMMITTED for testing et al. (#28628) 2024-06-13 09:36:25 -07:00
John Bodley
53798c7904 feat(trino): Add functionality to upload data (#29164) 2024-06-13 08:55:09 -07:00
John Bodley
6b016da185 fix: Workaround for Pandas.DataFrame.to_csv bug (#28755) 2024-06-13 08:54:54 -07:00
JUST.in DO IT
31afb62e95 refactor(sqllab): nonblocking switch query editor (#29108) 2024-06-12 15:07:34 -07:00
JUST.in DO IT
a88979631e fix(sqllab): run previous state query (#29230) 2024-06-12 15:04:19 -07:00
dependabot[bot]
f2d5bbc671 build(deps-dev): bump braces from 3.0.2 to 3.0.3 in /superset-embedded-sdk (#29232)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 14:25:47 -06:00
Maxime Beauchemin
4bb2e2f8af chore: enable ruff lint rule TRY201 and B904 to improve raise stack traces (#29166) 2024-06-12 13:04:42 -07:00
Vitor Avila
5167d20f27 fix: Improving handling for tag relationship when deleting assets v2 (#29229) 2024-06-12 09:39:34 -07:00
Hex Café
a067ffb92d feat(echarts-pie): add string template support for labels (#28774) 2024-06-12 10:18:45 -06:00
RIS3cz
cc492ffed4 chore(intros): Update INTHEWILD.md (#29226) 2024-06-12 09:48:50 -06:00
dependabot[bot]
dfda0877c0 build(deps-dev): bump braces from 3.0.2 to 3.0.3 in /superset-websocket (#29167)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-11 15:28:46 -06:00
dependabot[bot]
a7294be94f chore(deps): bump distributions from 1.1.0 to 2.2.0 in /superset-frontend (#28836)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-11 15:28:20 -06:00
Pushpender Saini
8699571654 fix(maps): Load indian map borders correctly (Restores #24927 fixes) (#29170) 2024-06-11 15:06:50 -06:00
dependabot[bot]
adbbe8f453 build(deps): bump braces from 3.0.2 to 3.0.3 in /superset-frontend/cypress-base (#29168)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-11 14:05:44 -06:00
dependabot[bot]
2ea859e4e5 build(deps): bump braces from 3.0.2 to 3.0.3 in /docs (#29169)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-11 08:44:42 -07:00
dependabot[bot]
684e10d718 build(deps): update urijs requirement from ^1.19.8 to ^1.19.11 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28295)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-10 20:49:18 -06:00
Vitor Avila
dd67772ad9 fix: Improving handling for tag relationship when deleting assets (#29117) 2024-06-10 16:14:26 -07:00
Matheus Batista
024cfd86e4 feat(formatters): Add custom d3-time-format locale (#24263) 2024-06-10 12:24:33 -06:00
Beto Dealmeida
8e15d4807f chore: s/MockFixture/MockerFixture/g (#29160) 2024-06-10 12:35:07 -04:00
Vishal
bfae2c8348 docs: Add Analytics Aura to INTHEWILD (#29142) 2024-06-10 09:29:16 -07:00
Kamil Gabryjelski
68fd189586 fix(mixed-timeseries-plugin): Second query stacks stacked on top of first query series (#29119) 2024-06-10 12:22:35 +02:00
Beto Dealmeida
5660f8e554 feat: OAuth2 client initial work (#29109) 2024-06-09 22:11:18 -04:00
JUST.in DO IT
fc9bc175e6 fix: CI failture due to Default React import (#29110) 2024-06-06 16:14:33 -07:00
Pranav Sadagopan
066f6b1f8a feat: add Current time-range options for time filter (#28637)
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-06-06 14:07:09 -06:00
Sabyrzhan Tynybayev
f2e020e398 fix(helm): Set priorityClassName to pods (superset, celeryBeat, celeryBeatFlower, celeryBeatWorker, celeryBeatWebsocket, jobs) (#29091) 2024-06-06 11:55:55 -07:00
Nina Viereckel
9cdf6b88ad docs: Add Gavagai to INTHEWILD (#29104) 2024-06-06 11:24:04 -07:00
Enzo Martellucci
961cb961e9 refactor: Removes the export of QueryFormData (#28786) 2024-06-06 18:50:52 +03:00
Hex Café
5c9a79442c fix(embedded): add missing GUEST_TOKEN_HEADER_NAME to bootstrap data (#28932) 2024-06-05 18:58:38 -07:00
Maxime Beauchemin
8f02eb0a34 fix: Cypress CI process while opening PR from a fork (#29098) 2024-06-05 17:59:11 -07:00
Elizabeth Thompson
bb9f326f9b chore: change security error level (#28641) 2024-06-05 15:43:22 -07:00
Daniel
eef7828681 fix(i18n): improved Russian translation (#28572) 2024-06-05 13:46:26 -07:00
Michael Holthausen
de3a1d87b3 docs: various adjustments across the docs (#29093)
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2024-06-05 14:53:08 -04:00
Maxime Beauchemin
b5d9ac0690 chore: only use cypress.io when triggered manually (#29077) 2024-06-05 11:10:40 -07:00
John Bodley
17d7e7e5e1 fix: Remove BASE_AXIS from pre-query (#29084) 2024-06-05 10:27:26 -07:00
Michael S. Molina
df0b1cb8ed feat: Adds Histogram chart migration logic (#28780) 2024-06-05 13:33:50 -03:00
JUST.in DO IT
dabb4e064f fix(explore): Drill to detail truncates int64 IDs (#29081) 2024-06-05 09:03:06 -07:00
Hans Lemm
d303852609 feat(helm): allow removal of Node & Worker replicas for custom HPA solutions (#28762) 2024-06-05 07:47:48 -07:00
Michael S. Molina
a9cebe81ea fix: CI errors as the result of removing React imports (#29089) 2024-06-05 09:09:49 -03:00
Đỗ Trọng Hải
0ca42a8e4d chore: remove React 16.4's obsolete React imports (#28571)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-06-05 08:13:24 -03:00
JUST.in DO IT
8a8ce16a1f refactor(sqllab): nonblocking new query editor (#28795) 2024-06-04 18:56:50 -07:00
bhaugeea
1a52c6a3b8 fix(embedded-sdk): add accessible title to iframe (#27017)
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-06-04 16:51:14 -06:00
Elizabeth Thompson
725375541d fix: use channel id with new slack api for file uploads (#28797) 2024-06-04 15:18:29 -07:00
Michael S. Molina
95706d9be2 feat: Adds the Featured Charts dashboard (#28789) 2024-06-04 16:59:10 -03:00
Michael S. Molina
896fe854dc feat: Adds the ECharts Histogram chart (#28652) 2024-06-04 09:35:18 -03:00
Joe Li
bc9eab9902 fix: Update downgrade path for migration to remove sl_tables (#28838) 2024-06-03 12:39:19 -07:00
dependabot[bot]
8b6496715f chore(deps-dev): update @types/lodash requirement from ^4.17.0 to ^4.17.4 in /superset-frontend/plugins/plugin-chart-handlebars (#28822)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-03 09:23:07 -07:00
dependabot[bot]
e6c5435f72 chore(deps): bump core-js from 3.8.3 to 3.37.1 in /superset-frontend (#28814)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 10:09:58 -06:00
dependabot[bot]
22c5d510a0 chore(deps): bump @types/lodash from 4.17.0 to 4.17.4 in /superset-websocket (#28812)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 10:09:17 -06:00
dependabot[bot]
4640a6e382 chore(deps): bump react-intersection-observer from 9.8.2 to 9.10.2 in /superset-frontend (#28811)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 10:09:02 -06:00
dependabot[bot]
9b5a27f195 chore(deps): bump @types/json-bigint from 1.0.1 to 1.0.4 in /superset-frontend (#28808)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 10:08:42 -06:00
dependabot[bot]
f0066a859a chore(deps-dev): bump @docusaurus/tsconfig from 3.3.2 to 3.4.0 in /docs (#28801)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 10:07:48 -06:00
dependabot[bot]
aa766c0664 chore(deps): bump @ant-design/icons from 5.3.6 to 5.3.7 in /docs (#28799)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:56:57 -06:00
dependabot[bot]
25ace49ec1 chore(deps-dev): bump @types/react from 18.3.1 to 18.3.3 in /docs (#28802)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:56:28 -06:00
dependabot[bot]
84b893a7bd chore(deps): bump swagger-ui-react from 5.17.5 to 5.17.14 in /docs (#28805)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:56:15 -06:00
dependabot[bot]
a6a232fa47 chore(deps-dev): bump @docusaurus/module-type-aliases from 3.2.1 to 3.4.0 in /docs (#28806)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:55:55 -06:00
dependabot[bot]
940f79e7c0 chore(deps-dev): bump @types/node from 20.12.7 to 20.13.0 in /superset-websocket (#28809)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:55:41 -06:00
dependabot[bot]
fdad607de4 chore(deps-dev): bump @hot-loader/react-dom from 16.13.0 to 16.14.0 in /superset-frontend (#28817)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 09:54:40 -06:00
dependabot[bot]
4fd9170958 chore(deps-dev): bump exports-loader from 0.7.0 to 5.0.0 in /superset-frontend (#28827)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-02 21:11:18 -06:00
dependabot[bot]
c6f4d507e9 chore(deps-dev): bump imports-loader from 3.1.1 to 5.0.0 in /superset-frontend (#28826)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-02 21:10:25 -06:00
dependabot[bot]
ba848cf0e6 chore(deps): bump react-window and @types/react-window in /superset-frontend (#28824)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-02 21:09:15 -06:00
dependabot[bot]
dd7ce3755c chore(deps): bump debug from 4.3.4 to 4.3.5 in /superset-websocket/utils/client-ws-app (#28823)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-02 21:08:49 -06:00
Ross Mabbett
35e1820f8a fix(Mixed Chart Filter Control): Allow delete condition for adhoc_filters_b (#28771) 2024-05-31 14:44:37 -07:00
Elizabeth Thompson
a608bdb8d4 fix: use upload v2 for slack (#28783) 2024-05-30 14:10:05 -07:00
JUST.in DO IT
ce568c34f9 fix(dashboard): unable to resize due to the overlapped droptarget (#28772) 2024-05-30 13:08:33 -07:00
Maxime Beauchemin
2dbb44b725 chore: make docker-compose use less memory (#28773)
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-05-30 11:42:03 -07:00
Beto Dealmeida
0070097af8 feat: impersonate with email prefix (#28770) 2024-05-30 13:32:39 -04:00
Maxime Beauchemin
7dd28a9003 chore: remove sl_ tables (#28704) 2024-05-29 19:04:37 -07:00
Maxime Beauchemin
8d57a35531 feat: bake translations as part of the build processes (#28483) 2024-05-29 16:58:08 -07:00
Elizabeth Thompson
78aa79bb15 chore(revert): "add listener to repaint on visibility change for canvas" (#28654) 2024-05-29 13:54:00 -07:00
Elizabeth Thompson
cbd3fa2190 fix: do not close database modal on mask click (#28750) 2024-05-29 13:53:35 -07:00
Beto Dealmeida
643ee17544 chore: remove duplicate code in SqlaTable (#28752) 2024-05-29 15:07:21 -04:00
Vitor Avila
020c79970f fix(reports): Update the element class to wait for when taking a screenshot (#28745) 2024-05-29 13:05:48 -06:00
JUST.in DO IT
453a645356 fix(sqllab): Sort db selector options by the API order (#28749) 2024-05-29 11:17:37 -07:00
Evan Rusackas
a67b0edfb2 fix(docs): fix url typo to fix a broken image (#28765) 2024-05-29 11:45:51 -06:00
Seboeb
f0662475ad chore: updated Dutch translations (#28710)
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-29 11:25:05 -06:00
Daniel Vaz Gaspar
5dfbab5424 fix: adds the ability to disallow SQL functions per engine (#28639) 2024-05-29 10:51:28 +01:00
SkinnyPigeon
6575cacc5d feat(reports): allowing the email mutator to update recipients (#27851) 2024-05-28 18:03:42 -07:00
Eyal Ezer
07b2449bd7 refactor: Unify all json.(loads|dumps) usage to utils.json (#28702)
Co-authored-by: Eyal Ezer <eyal.ezer@ge.com>
2024-05-28 14:17:41 -07:00
Daniel Vaz Gaspar
87110ebce4 fix: dashboard performance (#28609)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
Co-authored-by: Joe Li <joe@preset.io>
2024-05-28 13:09:05 -07:00
Hex Café
f9d2451b23 feat: add Nightingale chart support for echarts pie chart (#28597) 2024-05-28 12:19:38 -06:00
github-actions[bot]
30dfd92577 chore(🦾): bump python celery 5.3.6 -> 5.4.0 (#28471)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 10:38:14 -07:00
Michael S. Molina
e17724a73a feat: Adds Bar chart migration logic (#28602) 2024-05-28 13:58:35 -03:00
dependabot[bot]
8c3250396f chore(deps): bump pug from 3.0.2 to 3.0.3 in /superset-websocket/utils/client-ws-app (#28742)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-28 09:20:29 -07:00
github-actions[bot]
c67e3e7e1d chore(🦾): bump python importlib-resources 5.12.0 -> 6.4.0 (#28716)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 09:02:19 -07:00
github-actions[bot]
18f327781d chore(🦾): bump python zipp 3.18.2 -> 3.19.0 (#28718)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:59:14 -07:00
github-actions[bot]
6a734e2746 chore(🦾): bump python cachetools 5.3.2 -> 5.3.3 (#28719)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:58:02 -07:00
github-actions[bot]
03a62aaa33 chore(🦾): bump python markdown-it-py 2.2.0 -> 3.0.0 (#28720)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:57:41 -07:00
John Bodley
4ff17409ab fix: Handling of column types for Presto, Trino, et al. (#28653) 2024-05-28 08:56:38 -07:00
github-actions[bot]
a59bad83d4 chore(🦾): bump python slack-sdk 3.21.3 -> 3.27.2 (#28721)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:54:56 -07:00
github-actions[bot]
42e05ce494 chore(🦾): bump python prompt-toolkit 3.0.38 -> 3.0.44 (#28727)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:54:35 -07:00
github-actions[bot]
4bdf7b560b chore(🦾): bump python attrs 23.1.0 -> 23.2.0 (#28729)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:54:16 -07:00
github-actions[bot]
307477a62a chore(🦾): bump python apsw 3.45.3.0 -> 3.46.0.0 (#28730)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:53:54 -07:00
github-actions[bot]
51dd41bb72 chore(🦾): bump python pytz 2021.3 -> 2024.1 (#28731)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:53:32 -07:00
Vitor Avila
0fdb4b7c23 chore(tags): Handle tagging as part of asset update call (#28570) 2024-05-28 11:41:31 -04:00
github-actions[bot]
475364248f chore(🦾): bump python wrapt 1.15.0 -> 1.16.0 (#28722)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:06:51 -07:00
github-actions[bot]
22d8074c49 chore(🦾): bump python limits 3.4.0 -> 3.12.0 (#28717)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:03:14 -07:00
github-actions[bot]
4d252647ef chore(🦾): bump python mako 1.3.3 -> 1.3.5 (#28723)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:01:19 -07:00
github-actions[bot]
f988d997ff chore(🦾): bump python marshmallow-sqlalchemy 0.23.1 -> 0.28.2 (#28724)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:00:59 -07:00
github-actions[bot]
0ed87c5d56 chore(🦾): bump python wcwidth 0.2.5 -> 0.2.13 (#28725)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:00:29 -07:00
github-actions[bot]
57bd3c35c2 chore(🦾): bump python pyasn1 0.5.1 -> 0.6.0 (#28726)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 08:00:14 -07:00
github-actions[bot]
b53ccf893f chore(🦾): bump python google-auth 2.27.0 -> 2.29.0 (#28732)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 07:58:56 -07:00
github-actions[bot]
4ad823e97a chore(🦾): bump python certifi 2023.7.22 -> 2024.2.2 (#28733)
Co-authored-by: GitHub Action <action@github.com>
2024-05-28 07:58:35 -07:00
github-actions[bot]
f7b273460d chore(🦾): bump python boto3 1.26.130 -> 1.34.112 (#28679)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-27 21:47:11 -07:00
Maxime Beauchemin
9ac0cf7d14 chore: remove ipython from development dependencies (#28703) 2024-05-25 01:25:12 -07:00
github-actions[bot]
5f553601f7 chore(🦾): bump python stack-data 0.6.2 -> 0.6.3 (#28661)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 22:39:43 -07:00
github-actions[bot]
c1a7bb4f62 chore(🦾): bump python googleapis-common-protos 1.59.0 -> 1.63.0 (#28663)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 22:39:23 -07:00
github-actions[bot]
eadf84d8cf chore(🦾): bump python ruff 0.4.4 -> 0.4.5 (#28669)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 22:39:08 -07:00
github-actions[bot]
c82c4b6877 chore(🦾): bump python matplotlib 3.7.1 -> 3.9.0 (#28674)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 22:38:51 -07:00
Sam Firke
2c982cf5b3 chore(docs): address common docker compose error message in Quickstart (#28696) 2024-05-24 15:36:39 -04:00
github-actions[bot]
278570bc38 chore(🦾): bump python requests-oauthlib 1.3.1 -> 2.0.0 (#28681)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-24 11:40:38 -07:00
github-actions[bot]
3d67346f77 chore(🦾): bump python flask-limiter 3.3.1 -> 3.7.0 (#28670)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:27:50 -07:00
github-actions[bot]
21486da2b4 chore(🦾): bump python marshmallow 3.19.0 -> 3.21.2 (#28655)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:22:20 -07:00
github-actions[bot]
820fecb481 chore(🦾): bump python bcrypt 4.0.1 -> 4.1.3 (#28590)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:22:13 -07:00
github-actions[bot]
f39eda150f chore(🦾): bump python bottleneck 1.3.7 -> 1.3.8 (#28657)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:19:16 -07:00
github-actions[bot]
a5df955a39 chore(🦾): bump python cattrs 23.2.1 -> 23.2.3 (#28658)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:19:08 -07:00
github-actions[bot]
63e98286e9 chore(🦾): bump python typing-extensions 4.11.0 -> 4.12.0 (#28659)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:18:57 -07:00
github-actions[bot]
6044f643ed chore(🦾): bump python wheel 0.40.0 -> 0.43.0 (#28660)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:18:19 -07:00
github-actions[bot]
65937947a9 chore(🦾): bump python pexpect 4.8.0 -> 4.9.0 (#28662)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:17:56 -07:00
github-actions[bot]
a48128d317 chore(🦾): bump python traitlets 5.9.0 -> 5.14.3 (#28665)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:17:47 -07:00
github-actions[bot]
207a5f054b chore(🦾): bump python freezegun 1.4.0 -> 1.5.1 (#28666)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:17:39 -07:00
github-actions[bot]
dfc2ee2a88 chore(🦾): bump python babel 2.9.1 -> 2.15.0 (#28668)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:16:59 -07:00
github-actions[bot]
1fd2f2c80e chore(🦾): bump python pyproject-api 1.5.2 -> 1.6.1 (#28672)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:16:01 -07:00
github-actions[bot]
94f1c4d2a9 chore(🦾): bump python click-repl 0.2.0 -> 0.3.0 (#28671)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:15:50 -07:00
github-actions[bot]
8953a822a4 chore(🦾): bump python kombu 5.3.4 -> 5.3.7 (#28675)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:15:24 -07:00
github-actions[bot]
e5341d28e4 chore(🦾): bump python cffi 1.15.1 -> 1.16.0 (#28676)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:15:05 -07:00
github-actions[bot]
d8b69c2656 chore(🦾): bump python click-didyoumean 0.3.0 -> 0.3.1 (#28677)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:14:48 -07:00
github-actions[bot]
796f279aec chore(🦾): bump python identify 2.5.24 -> 2.5.36 (#28680)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:14:32 -07:00
github-actions[bot]
b99a815da5 chore(🦾): bump python pydruid 0.6.6 -> 0.6.9 (#28682)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:13:21 -07:00
github-actions[bot]
61d44488dd chore(🦾): bump python kiwisolver 1.4.4 -> 1.4.5 (#28683)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:13:01 -07:00
github-actions[bot]
344d359ba9 chore(🦾): bump python requests 2.31.0 -> 2.32.2 (#28684)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 11:12:42 -07:00
github-actions[bot]
296f67197e chore(🦾): bump python dnspython 2.1.0 -> 2.6.1 (#28574)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 10:34:58 -07:00
github-actions[bot]
bf80273577 chore(🦾): bump python rich 13.3.4 -> 13.7.1 (#28573)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 10:34:19 -07:00
github-actions[bot]
d07cebc220 chore(🦾): bump python pygments 2.15.0 -> 2.18.0 (#28535)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 10:33:08 -07:00
github-actions[bot]
6ecbaf3468 chore(🦾): bump python deprecated 1.2.13 -> 1.2.14 (#28580)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 10:31:23 -07:00
github-actions[bot]
a4ed34ceaf chore(🦾): bump python tzlocal 4.3 -> 5.2 (#28526)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-24 10:30:32 -07:00
github-actions[bot]
876074cc50 chore(🦾): bump python lazy-object-proxy 1.9.0 -> 1.10.0 (#28533)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-24 10:30:20 -07:00
github-actions[bot]
5eb9002868 chore(🦾): bump python jsonlines 3.1.0 -> 4.0.0 (#28527)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-23 18:14:40 -07:00
github-actions[bot]
2b73b6a80c chore(🦾): bump python flask-babel 1.0.0 -> 2.0.0 (#28576)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:10:06 -07:00
github-actions[bot]
5d52aaf49d chore(🦾): bump python tqdm 4.65.0 -> 4.66.4 (#28577)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:07:08 -07:00
github-actions[bot]
245a369d9f chore(🦾): bump python parso 0.8.3 -> 0.8.4 (#28578)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:06:36 -07:00
github-actions[bot]
d5886dc180 chore(🦾): bump python tzdata 2023.3 -> 2024.1 (#28579)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:06:11 -07:00
github-actions[bot]
bf7946e31c chore(🦾): bump python ijson 3.2.0.post0 -> 3.2.3 (#28581)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:05:25 -07:00
github-actions[bot]
071df0263c chore(🦾): bump python apsw 3.42.0.1 -> 3.45.3.0 (#28582)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:04:59 -07:00
github-actions[bot]
d625a5b99c chore(🦾): bump python distlib 0.3.6 -> 0.3.8 (#28583)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:04:38 -07:00
github-actions[bot]
948c0d08f3 chore(🦾): bump python pycparser 2.20 -> 2.22 (#28585)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:04:09 -07:00
github-actions[bot]
262a2fc5fb chore(🦾): bump python idna 3.2 -> 3.7 (#28589)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:03:50 -07:00
github-actions[bot]
51f49c4df4 chore(🦾): bump python pre-commit 3.7.0 -> 3.7.1 (#28586)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:03:12 -07:00
github-actions[bot]
c42f674089 chore(🦾): bump python sqlalchemy-bigquery 1.10.0 -> 1.11.0 (#28587)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:02:50 -07:00
github-actions[bot]
7a55ea717d chore(🦾): bump python google-resumable-media 2.5.0 -> 2.7.0 (#28588)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:02:32 -07:00
github-actions[bot]
057656f8be chore(🦾): bump python zipp 3.18.1 -> 3.18.2 (#28591)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:01:22 -07:00
github-actions[bot]
d6a90b0abd chore(🦾): bump python pip-tools 7.3.0 -> 7.4.1 (#28593)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 18:00:51 -07:00
github-actions[bot]
8ae2974a8e chore(🦾): bump python ruff 0.4.0 -> 0.4.4 (#28584)
Co-authored-by: GitHub Action <action@github.com>
2024-05-23 17:59:50 -07:00
github-actions[bot]
575c54f48e chore(🦾): bump python tomlkit 0.11.8 -> 0.12.5 (#28540)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-23 16:14:31 -07:00
github-actions[bot]
ac2e0e227a chore(🦾): bump python db-dtypes 1.1.1 -> 1.2.0 (#28541)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-23 16:14:18 -07:00
Maxime Beauchemin
35284589cb feat: unpack payload into log function (#28521) 2024-05-23 10:40:15 -07:00
Daniel Vaz Gaspar
1573c101a7 fix(ci): restrict issue comments to members or owners (#28633) 2024-05-22 22:31:54 +01:00
Hugh A. Miles II
ac53f7fea9 feat: Data Zoom scrolls using the mouse (mark II) (#28629) 2024-05-22 10:17:49 -07:00
John Bodley
4fa7619b1f fix: revert fix(presto preview): re-enable schema previsualization for Trino/Presto table/schemas" (#28613) 2024-05-21 15:23:32 -03:00
Elizabeth Thompson
62a0336425 fix: add listener to repaint on visibility change for canvas (#28568) 2024-05-21 09:52:32 -07:00
Ross Mabbett
0d5aec12d4 refactor(superset-ui-core): Migrate ChartFrame to RTL (#28563) 2024-05-21 18:21:47 +02:00
John Bodley
1c48fe05fd fix: Update migration logic in #27119 (#28482) 2024-05-20 11:30:56 -07:00
Eyal Ezer
56f0fc4ec2 refactor: Migration of json utilities from core (#28522)
Co-authored-by: Eyal Ezer <eyal.ezer@ge.com>
2024-05-20 10:27:22 -07:00
Geido
e954360eec fix: Fixes workflow Applitools Cypress (#28566) 2024-05-20 16:32:31 +03:00
github-actions[bot]
389d8b5b5d chore(🦾): bump python nodeenv 1.7.0 -> 1.8.0 (#28532)
Co-authored-by: GitHub Action <action@github.com>
2024-05-19 00:58:36 -07:00
github-actions[bot]
78530c6c17 chore(🦾): bump python numba 0.57.1 -> 0.59.1 (#28537)
Co-authored-by: GitHub Action <action@github.com>
2024-05-19 00:58:03 -07:00
github-actions[bot]
51d50358a0 chore(🦾): bump python dill 0.3.6 -> 0.3.8 (#28539)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-19 00:56:53 -07:00
github-actions[bot]
a27eea3450 chore(🦾): bump python charset-normalizer 3.2.0 -> 3.3.2 (#28531)
Co-authored-by: GitHub Action <action@github.com>
2024-05-19 00:56:29 -07:00
github-actions[bot]
3d8efbc6df chore(🦾): bump python jsonschema-spec 0.1.4 -> 0.1.6 (#28530)
Co-authored-by: GitHub Action <action@github.com>
2024-05-19 00:53:48 -07:00
Sivaramakrishnan Vaidyanathan
c51ca98e14 fix: Add back description column to saved queries #12431 (#28349)
Co-authored-by: SRK <sivaramakrishnan_vaidyanathan@apple.com>
Co-authored-by: ʈᵃᵢ <tai@apache.org>
2024-05-17 13:18:14 -06:00
Michael S. Molina
c9aa4a1f84 fix: Revert "fix: don't strip SQL comments in Explore (#28363)" (#28567) 2024-05-17 15:01:23 -03:00
aehanno
a2947d0c23 fix: Correction translation (#28497) 2024-05-17 10:09:19 -06:00
JUST.in DO IT
956511f7ef fix(explore): hide a control wrapped with StashFormDataContainer correctly (#28555) 2024-05-16 18:30:18 -03:00
JUST.in DO IT
5ae645828f fix: db migration revision (#28556) 2024-05-16 18:10:29 -03:00
aikawa-ohno
9924cfdf3c fix(i18n): Adding and modifying Japanese translations (#28487) 2024-05-16 10:50:48 -06:00
Beto Dealmeida
5da6d2bd88 feat: add support for catalogs (#28416) 2024-05-16 12:49:31 -04:00
Antonio Rivero
b1f85dce71 refactor(plugins): BigNumber Time Comparison with existing time_offset API (#27718)
Co-authored-by: lilykuang <jialikuang@gmail.com>
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
2024-05-16 18:47:50 +02:00
github-actions[bot]
b69958b412 chore(🦾): bump python croniter 2.0.3 -> 2.0.5 (#28474)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 09:33:05 -07:00
github-actions[bot]
87f8340da4 chore(🦾): bump python amqp 5.1.1 -> 5.2.0 (#28536)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 09:32:14 -07:00
github-actions[bot]
c90eea2b31 chore(🦾): bump python flask-jwt-extended 4.5.3 -> 4.6.0 (#28544)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 09:26:29 -07:00
github-actions[bot]
bac71613de chore(🦾): bump python requests-cache 1.1.1 -> 1.2.0 (#28542)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 09:18:18 -07:00
github-actions[bot]
24fa7a94d0 chore(🦾): bump python zope-event 4.5.0 -> 5.0 (#28528)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 09:17:47 -07:00
github-actions[bot]
02b98b9565 chore(🦾): bump python pyasn1-modules 0.3.0 -> 0.4.0 (#28545)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 09:15:33 -07:00
Geido
938a7270eb fix(Dashboard): Prevent scroll when hovering filters (#28550) 2024-05-16 16:06:00 +03:00
Puridach wutthihathaithamrong
aa2b060da8 feat: Customizable email subject name (#26327)
Co-authored-by: Puridach Wutthihathaithamrong <>
2024-05-16 16:04:42 +03:00
github-actions[bot]
bfb92976cb chore(🦾): bump python fonttools 4.43.0 -> 4.51.0 (#28500)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 00:32:46 -07:00
github-actions[bot]
c08849883d chore(🦾): bump python email-validator 1.1.3 -> 2.1.1 (#28503)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 00:31:50 -07:00
github-actions[bot]
c369e8161c chore(🦾): bump python numexpr 2.9.0 -> 2.10.0 (#28506)
Co-authored-by: GitHub Action <action@github.com>
2024-05-16 00:27:30 -07:00
Evan Rusackas
cafc1a2c13 feat(maps): Adding ALL the countries to the Country Map plugin! 🌎 (#28265) 2024-05-15 15:35:56 -06:00
Maxime Beauchemin
97341a14b9 fix: move to slack-sdk files_upload_v2 (#28423) 2024-05-15 14:31:57 -07:00
Aleksey Karpov
8f0baa45b6 chore(docker): Reduce image size and update GECKODRIVER_VERSION ,FIRE… (#28508) 2024-05-15 15:02:04 -06:00
Evan Rusackas
0d5f08a2fd docs: creating a redirect for a legacy link about pre-commit hook (#28499) 2024-05-15 13:51:11 -06:00
Michael S. Molina
2defa10d37 chore: Adds setActiveTabs back (#28520) 2024-05-15 16:12:40 -03:00
Eyal Ezer
5f714b707c fix: utf-16 json encoder support (#28486)
Co-authored-by: Eyal Ezer <eyal.ezer@ge.com>
2024-05-15 08:53:19 -07:00
Jack
f420005b57 chore(docs): updating alerts & reports documentation WEBDRIVER_BASEURL settings for docker compose (#27951)
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-05-15 08:52:15 -07:00
Vitor Avila
6232aac95a chore(D2D): Add granular permission for dashboard drilling operations (#28435) 2024-05-15 15:31:30 +01:00
Daniel Vaz Gaspar
11164e2450 fix: improve df to records performance (#28512) 2024-05-15 15:30:23 +01:00
JUST.in DO IT
65e0d54fa5 fix(dashboard): invalid drop item on a tab (#28507) 2024-05-15 08:48:14 -03:00
Michael S. Molina
821c7d7f2c fix: Time shifts calculation for ECharts plugins (#28432) 2024-05-15 08:11:52 -03:00
Daniel Vaz Gaspar
f0b7b95d05 chore: deprecate old Dashboard endpoints (#28399) 2024-05-15 09:36:47 +01:00
Daniel Vaz Gaspar
d7b6f1cb5d fix: bump sqlparse to 0.5.0 (#28144) 2024-05-15 09:36:20 +01:00
Daniel Vaz Gaspar
c12deed12e chore: deprecate multiple old APIs (#28492) 2024-05-14 22:00:45 +01:00
Daniel Vaz Gaspar
4f693c6db0 chore: bump gunicorn to 22.0.0 (#28490) 2024-05-14 20:06:41 +01:00
Michael S. Molina
964202adff chore: Don't mark Helm releases as latest (#28498) 2024-05-14 16:00:28 -03:00
Enzo Martellucci
920f2f437e refactor: Migrate saveModalActions to TypeScript (#28046) 2024-05-14 17:51:44 +03:00
Beto Dealmeida
b160fd40c8 chore: remove lost file (#28484) 2024-05-13 18:49:31 -04:00
Balthazar Rouberol
afdf0389a3 fix(presto preview): re-enable schema previsualization for Trino/Presto table/schemas (#26782) 2024-05-13 15:16:12 -07:00
dependabot[bot]
4c8e9a1414 build(deps): bump ejs from 3.1.8 to 3.1.10 in /superset-frontend (#28309)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 15:44:07 -06:00
github-actions[bot]
e9de641705 chore(🦾): bump python redis subpackage(s) (#28467)
Co-authored-by: GitHub Action <action@github.com>
2024-05-13 12:47:39 -07:00
github-actions[bot]
2199f6f60d chore(🦾): bump python flask-compress 1.14 -> 1.15 (#28469)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-05-13 12:35:14 -07:00
Daniel Vaz Gaspar
0cb60aea8f chore: deprecate old Dataset related endpoints (#28453) 2024-05-13 20:09:47 +01:00
John Bodley
1ccbc655eb fix: Update migration logic in #27119 (#28422) 2024-05-13 11:55:59 -07:00
github-actions[bot]
e6aba5979a chore(🦾): bump python geopy subpackage(s) (#28479)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-05-13 11:45:01 -07:00
github-actions[bot]
fedd24522c chore(🦾): bump python cryptography 42.0.5 -> 42.0.7 (#28468)
Co-authored-by: GitHub Action <action@github.com>
2024-05-13 11:32:20 -07:00
github-actions[bot]
908a9bbb4c chore(🦾): bump python flask-session subpackage(s) (#28472)
Co-authored-by: GitHub Action <action@github.com>
2024-05-13 11:23:12 -07:00
github-actions[bot]
62b1757b07 chore(🦾): bump python flask-migrate subpackage(s) (#28465)
Co-authored-by: GitHub Action <action@github.com>
2024-05-13 10:53:42 -07:00
github-actions[bot]
e8ba5045d9 chore(🦾): bump python markdown subpackage(s) (#28464)
Co-authored-by: GitHub Action <action@github.com>
2024-05-13 10:49:44 -07:00
github-actions[bot]
3f5ffc7026 chore(🦾): bump python flask-caching 2.1.0 -> 2.3.0 (#28463)
Co-authored-by: GitHub Action <action@github.com>
2024-05-13 10:46:37 -07:00
Daniel Vaz Gaspar
356a58d5f6 fix: jwt extended broken by flask bump (#28451) 2024-05-13 17:51:29 +01:00
Jack
d871b4d267 fix(ar-modal): updateNotificationSettings not updating state (#28409) 2024-05-13 09:38:12 -07:00
Craig Rueda
89dbb9888c chore(models): Adding encrypted field checks (#28436) 2024-05-13 09:29:52 -07:00
Kamil Gabryjelski
983f809951 fix: Color scheme control crashing when dashboardId present (#28457) 2024-05-13 18:00:29 +02:00
lodu
e1cd0547de chore(helm): bumping app version to 4.0.1 in helm chart (#28456) 2024-05-13 15:43:58 +01:00
Michael S. Molina
d25928f125 chore: Updates CHANGELOG.md with 4.0.1 data (#28452) 2024-05-13 11:22:02 -03:00
Đỗ Trọng Hải
4f51f05133 fix(ci): fix failed docker-build CI job (#28442)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-05-13 11:48:08 +01:00
Daniel Vaz Gaspar
54e02f5b11 chore: deprecate old Database endpoints (#28404) 2024-05-13 08:42:56 +01:00
Sam Firke
add79a4b24 fix(docs): add missing link to meta-cross-db feature flag docs (#28433) 2024-05-10 15:05:19 -06:00
Ross Mabbett
b0157649af fix(dashboard): Change class name on last Droppable in a column (#28395) 2024-05-10 12:13:54 -07:00
Maxime Beauchemin
e91669821e fix: run some CI tests against previous python version (#28419) 2024-05-10 12:04:29 -07:00
JUST.in DO IT
02478e5b95 feat(dashboard): Add metadata bar to the header (#27857) 2024-05-10 10:28:57 -07:00
JUST.in DO IT
3a62eab163 fix(SIP-95): missing catalog cache key (#28415) 2024-05-10 10:18:14 -07:00
Maxime Beauchemin
26df7b4ad5 feat: clarify that 'Text' supports markdown (#28425) 2024-05-10 09:17:37 -07:00
Maxime Beauchemin
76a9e1d37d fix: set supersetbot orglabel to always succeed (#28418) 2024-05-10 09:08:19 -07:00
Maxime Beauchemin
5bad7fc4f3 chore(🦾): bump python werkzeug 3.0.1 -> 3.0.3 (#28421) 2024-05-10 09:07:30 -07:00
Sam Firke
8f9663ac67 chore(docs): fix two broken Docusaurus redirect links (#28430) 2024-05-10 08:29:13 -06:00
Elizabeth Thompson
93e654212c fix: update development.mdx (#28412) 2024-05-10 10:03:19 -04:00
Đỗ Trọng Hải
7da6147bf8 chore(build): fix issue that prevent eslint displaying type-check report during build (#28379)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-05-09 22:14:24 -07:00
Beto Dealmeida
498c608667 fix: pass catalog when estimating query cost (#28410) 2024-05-09 21:56:11 -04:00
Beto Dealmeida
f29e1e4c29 feat: catalog support for Databricks native (#28394) 2024-05-09 17:41:15 -04:00
Beto Dealmeida
e516bba8fc fix: table autocomplete should pass catalog (#28413) 2024-05-09 15:57:31 -04:00
Vitor Avila
307ebeaa19 chore(Databricks): New Databricks driver (#28393) 2024-05-09 14:58:03 -04:00
Beto Dealmeida
e6a85c5901 fix: export/import catalogs (#28408) 2024-05-09 14:42:03 -04:00
Beto Dealmeida
ba2cf5dbbc chore: unit tests for catalog_access (#28406) 2024-05-09 14:41:33 -04:00
Michael S. Molina
de1ae2bd48 chore: Updates CHANGELOG.md with 3.1.3 data (#28398) 2024-05-09 13:07:21 -03:00
Maxime Beauchemin
499fb2c631 chore: add a github "action-validator" in CI (#28358) 2024-05-09 08:26:27 -07:00
Kamil Gabryjelski
bbfe5c0ae8 feat(explore): Color scheme groups, new color schemes (#27995) 2024-05-09 16:43:58 +02:00
Daniel Vaz Gaspar
b224b8331a fix: type annotation breaking on py3.9 (#28396) 2024-05-09 14:44:24 +01:00
Daniel Vaz Gaspar
9c065951e7 fix: tests on database, dataset, saved_queries apis (#28397) 2024-05-09 13:43:31 +01:00
Daniel Vaz Gaspar
e1a440fa36 chore: remove and deprecate old CSS templates endpoints (#28387) 2024-05-09 09:38:32 +01:00
Beto Dealmeida
ce668d46cc feat(SIP-95): catalogs in SQL Lab and datasets (#28376) 2024-05-08 17:19:36 -04:00
JUST.in DO IT
07cd1d89d0 fix(explore): hide advanced analytics for non temporal xaxis (#28312) 2024-05-08 17:40:28 -03:00
Jonathan Schneider
c8185694be fix: update links to reference docs listing Superset issue codes (#28389) 2024-05-08 15:08:38 -04:00
Michael S. Molina
55f3b46f41 fix: Contribution percentages for ECharts plugins (#28368) 2024-05-08 15:54:21 -03:00
Michael S. Molina
9e4ba6762f fix: Scroll to top when selecting a global dashboard tab (#28386) 2024-05-08 15:54:00 -03:00
Kamil Gabryjelski
5a13e64dc6 fix: Revert "chore(build): uplift webpack-related packages to v5 (#28342)" (#28384) 2024-05-08 15:40:05 +02:00
Đỗ Trọng Hải
8c27d4d47f chore(build): uplift webpack-related packages to v5 (#28342)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-05-08 10:29:07 +02:00
Daniel Vaz Gaspar
bd1c3fcba4 docs: update CVE list (#28373) 2024-05-08 08:31:32 +01:00
Vitor Avila
1bf04015c6 feat(reports): Set a minimum interval for each report's execution (#28176) 2024-05-07 18:28:12 -07:00
Ross Mabbett
f04b4e87fb refactor(superset-ui-core): Migrate FallbackComponent.test to RTL (#28359) 2024-05-07 16:12:55 -07:00
Maxime Beauchemin
c618767c6b fix: don't strip SQL comments in Explore (#28363) 2024-05-07 14:49:46 -07:00
Maxime Beauchemin
b7ac526257 docs: clarifying that config.SQL_QUERY_MUTATOR does not affect cache (#28360) 2024-05-07 14:00:06 -07:00
Michael S. Molina
b549977f05 feat: Utility function to render chart tooltips (#27950) 2024-05-07 13:00:30 -03:00
John Bodley
467e612533 fix: Remedy logic for UpdateDatasetCommand uniqueness check (#28341) 2024-05-07 06:42:37 -07:00
Michael S. Molina
b4ab36a6a5 fix: Small tweaks for Line and Area chart migrations (ECharts) (#28334)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2024-05-07 10:40:33 -03:00
dependabot[bot]
10c78960a7 build(deps): bump swagger-ui-react from 5.17.2 to 5.17.5 in /docs (#28362)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 14:51:11 -06:00
Đỗ Trọng Hải
a2f0b988d4 feat(docs): uplift Docusaurus to v3 (#28345)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-05-06 12:30:51 -07:00
Maxime Beauchemin
c10cee3a39 fix: use pessimistic json encoder in SQL Lab (#28266) 2024-05-06 12:23:50 -07:00
Maxime Beauchemin
d1e13ab3e4 chore: fix master build by merging alembic migration heads (#28361) 2024-05-06 11:54:16 -07:00
JUST.in DO IT
2a7bfa4bb3 fix: Missing sql_editor_id index (#27392)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2024-05-06 10:45:33 -07:00
Đỗ Trọng Hải
0f301450e0 docs(intro): embed overview video into README.md (#28344)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-05-06 09:53:10 -07:00
John Bodley
27c93f438a chore: Add Apache Spark Jinja template processor (#28335) 2024-05-06 09:24:25 -07:00
Đỗ Trọng Hải
bf5ff55074 fix(ci): correct input type for allow-dependencies-licenses in Dependency Review GH action (#28343)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-05-06 09:00:09 -07:00
Beto Dealmeida
e90246fd1f feat(SIP-95): permissions for catalogs (#28317) 2024-05-06 11:41:58 -04:00
Daniel Vaz Gaspar
9a339f08a7 feat: new Columnar upload form and API (#28192) 2024-05-06 15:51:42 +01:00
Maxime Beauchemin
f5843fe588 fix: database logos look stretched (#28340) 2024-05-03 17:23:42 -07:00
Maxime Beauchemin
49231da42f docs: various improvements across the docs (#28285) 2024-05-03 15:27:40 -07:00
Frank Zimper
517f254726 fix(website): links corrected (#28333) 2024-05-03 10:18:05 -07:00
dependabot[bot]
f95d9cde40 build(deps): bump ws from 8.16.0 to 8.17.0 in /superset-websocket (#28288)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 22:31:30 -06:00
Lily Kuang
49992dd9d2 docs: add npm publish steps to release/readme (#23730)
Co-authored-by: Nicolas Charpentier <nicolas.charpentier079@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-05-02 22:28:23 -06:00
Asaf Levy
3e74ff174c refactor(helm): Allow chart operators to exclude the creation of the secret manifest (#28308) 2024-05-02 22:08:32 -06:00
John Bodley
b4c4ab7790 fix: Rename legacy line and area charts (#28113) 2024-05-02 17:04:22 -03:00
Đỗ Trọng Hải
5331dc740a chore(dev): remove obsolete image reference to superset-websocket + fix minor typo (#28321)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-05-02 11:42:00 -07:00
John Bodley
27952e7057 fix: Ignore USE SQL keyword when determining SELECT statement (#28279) 2024-05-02 11:25:55 -07:00
John Bodley
0ce5864fc7 chore: Move #26288 from "Database Migration" to "Other" (#28311) 2024-05-02 10:17:46 -07:00
Đỗ Trọng Hải
593c653ab5 fix(docs): prevent browser to download the entire video in first page load + fix empty controls attribute (#28319) 2024-05-02 11:15:39 -06:00
John Bodley
d36bccdc8c fix(sql_parse): Add Apache Spark to SQLGlot dialect mapping (#28322) 2024-05-02 09:53:20 -07:00
Maxime Beauchemin
513852b7c3 fix: all_database_access should enable access to all datasets/charts/dashboards (#28205) 2024-05-02 09:25:14 -07:00
John Bodley
e94360486e chore(commands): Remove unnecessary commit (#28154) 2024-05-01 16:09:50 -06:00
dependabot[bot]
b17db6d669 build(deps): bump markdown-to-jsx from 7.4.1 to 7.4.7 in /superset-frontend (#28298)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 09:22:53 -06:00
dependabot[bot]
f4b6c3049b build(deps): bump clsx from 2.1.0 to 2.1.1 in /docs (#28301)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 09:22:09 -06:00
dependabot[bot]
55391bb587 build(deps-dev): bump eslint-plugin-testing-library from 6.2.0 to 6.2.2 in /superset-frontend (#28306)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 09:21:07 -06:00
Beto Dealmeida
38e2843b24 chore: clean up DB create command (#28246) 2024-05-01 11:06:26 -04:00
JUST.in DO IT
7c8423a522 fix(explore): cannot reorder dnd of Metrics (#28269) 2024-05-01 10:13:12 -03:00
Maxime Beauchemin
ec8351d336 feat: accelerate webpack builds with filesystem cache (#28282) 2024-04-30 23:18:20 -07:00
Evan Rusackas
e4f93b293f chore(docs): video now hosted by ASF instead of GitHub (#28284) 2024-04-30 23:41:16 -06:00
Maxime Beauchemin
2b4b771449 fix: silence docker-compose useless warnings (#28283) 2024-04-30 19:35:02 -07:00
Maxime Beauchemin
538d1bb245 docs: merge database config under Configuration section (#28281) 2024-04-30 18:39:32 -07:00
Maxime Beauchemin
3ac387bb66 chore: enable ruff's isort equivalent (#28267) 2024-04-30 18:29:49 -07:00
Beto Dealmeida
fe37d914e5 fix: % replace in values_for_column (#28271) 2024-04-30 16:15:56 -07:00
Maxime Beauchemin
51da5adbc7 chore: allow codecov to detect SHA (#28278) 2024-04-30 15:32:33 -07:00
Evan Rusackas
3cc8434c5a fix(ci): adding codecov token (#28277) 2024-04-30 14:23:35 -06:00
Radek Antoniuk
c641bbfb9e chore: use depth=1 for cloning (#28276) 2024-04-30 14:20:29 -06:00
Đỗ Trọng Hải
2e9cc654ef docs(intro): embed overview video into Intro document (#28163)
Signed-off-by: hainenber <dotronghai96@gmail.com>
2024-04-30 12:59:35 -06:00
Mathias Bögl
f03de27a92 docs(upgrading): clarify upgrade process (#28275) 2024-04-30 12:28:15 -04:00
Ross Mabbett
601896b1fc chore(superset-ui-core and NoResultsComponent): Migrate to RTL, add RTL modules to the ui-core (#28187) 2024-04-30 16:10:35 +03:00
Ross Mabbett
2e5f3ed851 fix(Dev-Server): Edit ChartPropsConfig reexport to be a type object (#28225) 2024-04-30 16:09:33 +03:00
Ross Mabbett
a38dc90abe fix(Webpack dev-sever warnings): Add ignoreWarning to webpack config for @data-ui error (#28232) 2024-04-30 16:07:55 +03:00
Ross Mabbett
efda57e8a5 chore(AlteredSliceTag): Migrate to functional (#27891)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2024-04-30 14:55:11 +03:00
JUST.in DO IT
44690fb299 fix(dashboard): unable to drop tabs in columns (#28242) 2024-04-29 14:50:25 -03:00
Maxime Beauchemin
f9f0bc687d docs: set up redirects (#28247)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-04-29 10:38:09 -07:00
Ross Mabbett
4d2247a7e1 fix(Webpack dev-server build warning): Create false value alias for moment-with-locales (#28229) 2024-04-29 10:27:06 -07:00
JUST.in DO IT
743c0bde7e fix(explore): temporal column mixin (#28241) 2024-04-29 10:01:05 -07:00
dependabot[bot]
c975f97ce8 build(deps): bump polished from 3.7.2 to 4.3.1 in /superset-frontend (#28240)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 10:28:54 -06:00
Evan Rusackas
76d897eaa2 docs(maps): jupyter notebook now auto-updates docs site (#27003) 2024-04-27 14:33:12 -06:00
Maxime Beauchemin
a08c24c4aa docs: reorganize the CONTRIBUTING section (#28220)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-04-26 17:49:21 -07:00
Sam Firke
fca3a525d0 chore(docs): Move ::: onto its own line to fix caution formatting (#28243) 2024-04-26 20:02:36 -04:00
Sam Firke
db5edb3a42 chore(docs): add closing ::: to caution tag (#28236) 2024-04-26 14:38:58 -04:00
Sam Firke
3a2a930ad3 chore(docs): reorder pages in the Configuring Superset section (#28237) 2024-04-26 11:08:09 -06:00
JUST.in DO IT
7e94dc5b40 fix(sqllab): invalid css scope for ace editor autocomplete (#28156) 2024-04-26 09:48:13 -07:00
JUST.in DO IT
cdbf8f394a chore: Add custom keywords for SQL Lab autocomplete (#28153) 2024-04-26 09:48:01 -07:00
Beto Dealmeida
173d5d09bf fix: Dremio alias (#28222) 2024-04-26 07:49:20 -04:00
John Bodley
c5e7d870f0 fix(sql_parse): Provide more lenient logic when extracting latest[_sub]_partition (#28152) 2024-04-25 22:02:25 -07:00
Evan Rusackas
1e47e65ac5 fix(maps): adds Crimea back to Ukraine 🇺🇦 (#28226) 2024-04-25 17:56:41 -06:00
Ville Brofeldt
271510f0a8 chore(plugin-chart-country-map): fix broken urls (#28223) 2024-04-25 13:40:35 -07:00
Martin Spudich
63afa24c11 feat: Add Czech Republic country map. (#28035) 2024-04-25 13:28:25 -06:00
jdrui
ce1d18e534 feat(country-map): Adds Philippines regional map and updates/cleans existing Philippines provincial map (#27933) 2024-04-25 13:25:49 -06:00
Shao Yu-Lung (Allen)
4afeabe042 feat(translations): Traditional Chinese translation files added (#28169) 2024-04-25 11:01:40 -06:00
Beto Dealmeida
6cf681df68 feat(SIP-95): new endpoint for table metadata (#28122) 2024-04-25 12:23:49 -04:00
Cykablyat
52f8734662 docs: update README.md to avoid 404 issue (#28217) 2024-04-25 11:07:36 -04:00
Maxime Beauchemin
7b40b6426c chore: add pylint to pre-commit hook (#28137) 2024-04-25 07:58:44 -07:00
Maxime Beauchemin
2d63722150 chore: set up ruff as a new linter/formatter (#28158) 2024-04-24 17:19:53 -07:00
Braum
e8a678b75a docs: Refactor Documentation Structure (#28161)
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-04-24 15:17:50 -06:00
John Bodley
bc65c245fe chore(tests): Remove unnecessary/problematic app contexts (#28159) 2024-04-24 13:46:35 -07:00
Geido
a9075fdb1f fix: Remove deprecated ignoreTestFiles from Applitools Cypress (#28197) 2024-04-24 18:41:33 +03:00
Maxime Beauchemin
8baf754615 fix(docs): ERD docs fail on master (#28189) 2024-04-24 08:40:24 -07:00
Abhishek-kumar-samsung
cf90def462 feat: custom refresh frequency (#24449)
Co-authored-by: Nitesh Kumar Dubey Samsung <136478415+dubey-nitesh@users.noreply.github.com>
2024-04-24 08:38:52 -06:00
Maxime Beauchemin
9db431b430 docs: add dynamic entity-relationship diagram to docs (#28130) 2024-04-23 16:12:42 -07:00
dependabot[bot]
f155138659 build(deps): update @types/fetch-mock requirement from ^7.3.3 to ^7.3.8 in /superset-frontend/packages/superset-ui-core (#27831)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-23 16:36:51 -06:00
dependabot[bot]
efc1ab83d4 build(deps): bump gh-pages from 3.2.3 to 5.0.0 in /superset-frontend (#28177)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 16:36:08 -06:00
Maxime Beauchemin
68c77d6e9f chore: clean up console upon firing up the CLI (#28134) 2024-04-23 11:43:39 -07:00
Maxime Beauchemin
063914af04 chore: get websocket service to start in docker-compose (#28135) 2024-04-23 11:06:41 -07:00
Jack
b7f3e0bb50 fix(AlertsReports): making log retention "None" option valid (#27554) 2024-04-23 16:05:00 +03:00
Daniel Vaz Gaspar
de82d90b9c chore: refactor file upload commands (#28164) 2024-04-23 08:42:19 +01:00
Maxime Beauchemin
cfc440c56c feat: improve event logging for queries + refactor (#27943)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2024-04-22 16:30:50 -07:00
Elizabeth Thompson
83fedcc9ea chore: change deprecation versions post 4.0 (#28019) 2024-04-22 13:03:59 -07:00
Omar Al-Ithawi
cddcff2c63 chore(translations): add Arabic translations stub (#28129) 2024-04-22 13:56:20 -06:00
Lennard Scheibel
e889f17421 chore(translations): fix translations order (#28031) 2024-04-22 13:56:09 -06:00
dependabot[bot]
c23876d536 build(deps): bump match-sorter from 6.3.3 to 6.3.4 in /superset-frontend (#28082)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 13:55:38 -06:00
dependabot[bot]
fe2be5ffea build(deps): bump react-virtualized-auto-sizer from 1.0.7 to 1.0.24 in /superset-frontend (#28085)
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@preset.io>
2024-04-22 10:13:34 -06:00
dependabot[bot]
1ef839ca6d build(deps): update underscore requirement from ^1.12.1 to ^1.13.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28069)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-19 21:56:16 -06:00
dependabot[bot]
f5bd183cc5 build(deps): update prop-types requirement from ^15.6.0 to ^15.8.1 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28075)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-19 21:55:57 -06:00
dependabot[bot]
7906e7b5ff build(deps-dev): bump fs-extra from 10.1.0 to 11.2.0 in /superset-frontend/packages/generator-superset (#28068)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-19 13:47:47 -06:00
dependabot[bot]
11dbae78cb build(deps): bump @types/node from 18.0.0 to 20.12.7 in /superset-frontend (#28083)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-19 13:46:05 -06:00
dependabot[bot]
86d7b04eaa build(deps): update xss requirement from ^1.0.10 to ^1.0.15 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#28071)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-19 13:44:44 -06:00
dependabot[bot]
bfa2c46430 build(deps): bump deck.gl from 8.8.27 to 9.0.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#27965)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-19 13:44:30 -06:00
Daniel Vaz Gaspar
e465876ed4 feat: new Excel upload form and API (#28105) 2024-04-19 14:19:42 +01:00
Jon Edmiston
37f900a264 docs: Updated quick start page. Docker compose command had a typo (#28131) 2024-04-18 18:00:36 -07:00
dependabot[bot]
783dbb5040 build(deps): bump chrono-node from 2.2.6 to 2.7.5 in /superset-frontend (#26746)
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-04-18 14:50:58 -06:00
dependabot[bot]
452e26ea79 build(deps): bump d3-interpolate and @types/d3-interpolate in /superset-frontend (#26896)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:50:46 -06:00
dependabot[bot]
529954fbcb build(deps-dev): bump babel-plugin-jsx-remove-data-test-id from 2.1.3 to 3.0.0 in /superset-frontend (#26564)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:50:21 -06:00
dependabot[bot]
b168520ad2 build(deps-dev): bump @types/js-levenshtein from 1.1.0 to 1.1.3 in /superset-frontend (#26563)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:50:09 -06:00
dependabot[bot]
7b21e8fbae build(deps-dev): bump @docusaurus/module-type-aliases from 3.2.0 to 3.2.1 in /docs (#28080)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:49:59 -06:00
dependabot[bot]
76568807c4 build(deps-dev): bump @applitools/eyes-storybook from 3.46.0 to 3.49.0 in /superset-frontend (#28084)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:49:30 -06:00
dependabot[bot]
3f86df1445 build(deps-dev): bump eslint-plugin-storybook from 0.6.15 to 0.8.0 in /superset-frontend (#28086)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:46:28 -06:00
dependabot[bot]
95b3f31d9c build(deps-dev): bump jsdom from 20.0.0 to 24.0.0 in /superset-frontend (#28089)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:46:19 -06:00
dependabot[bot]
17a65b1e03 build(deps-dev): bump esbuild-loader from 4.0.3 to 4.1.0 in /superset-frontend (#28088)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:46:05 -06:00
dependabot[bot]
0f0f299b3e build(deps): bump @types/d3-scale from 2.2.10 to 4.0.8 in /superset-frontend/plugins/plugin-chart-word-cloud (#28067)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-18 14:15:06 -06:00
dependabot[bot]
6c045f4228 build(deps): bump azure/setup-helm from 3 to 4 (#27340)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 12:13:21 -07:00
Maxime Beauchemin
947391778e feat: label PR with release tags (#28107) 2024-04-18 12:04:52 -07:00
dependabot[bot]
4c1e2bcc7a build(deps-dev): bump @types/node from 20.12.4 to 20.12.7 in /superset-websocket (#28070)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 12:05:16 -06:00
dependabot[bot]
6748c4361f build(deps): update dompurify requirement from ^3.0.11 to ^3.1.0 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#28065)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-18 12:04:09 -06:00
dependabot[bot]
7e91d18853 build(deps): update @types/lodash requirement from ^4.14.149 to ^4.17.0 in /superset-frontend/packages/superset-ui-core (#28066)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-18 12:03:41 -06:00
John Bodley
2f11f66167 fix(sql_parse): Support Jinja format() filter when extracting latest[_sub]_partition (#28117) 2024-04-18 10:23:09 -07:00
Edgar Ulloa
7263c7cb47 refactor: add "button" role to clickable UI elements for improved accessibility (#26602) 2024-04-18 18:28:02 +02:00
Geido
9ee56bbc5b chore(Dashboard): Improve accessibility chart descriptions (#28127) 2024-04-18 18:20:31 +02:00
dependabot[bot]
96cea5aa1f build(deps): bump react-intersection-observer from 9.6.0 to 9.8.2 in /superset-frontend (#28081)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 09:56:48 -06:00
dependabot[bot]
9967f52657 build(deps-dev): bump babel-loader from 8.3.0 to 9.1.3 in /superset-frontend (#28090)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 09:43:34 -06:00
dependabot[bot]
84ef17d818 build(deps-dev): bump @types/react-gravatar from 2.6.8 to 2.6.14 in /superset-frontend (#28092)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 09:41:15 -06:00
Braum
fda9c60e25 docs: small fixes and update of README screenshots (#28102) 2024-04-18 09:26:01 -06:00
Beto Dealmeida
68a982dfe6 feat(sip-95): new endpoint for extra table metadata (#28063) 2024-04-18 10:42:53 -04:00
Geido
69a7bfc88d chore(Dashboard): Improve Table accessibility (#28059) 2024-04-17 18:24:07 +02:00
Evan Rusackas
0e096e8001 chore(asf): setting website staging server to point at superset-site's lfs branch (#28099) 2024-04-17 10:03:27 -06:00
Daniel Vaz Gaspar
5ece57bd34 fix: db migrations on downgrade (#28106) 2024-04-17 16:37:07 +01:00
Evan Rusackas
8a390f03e3 chore(docs): splitting out "stable" feature flags by intent (config vs feature dev) (#28016) 2024-04-17 09:29:11 -06:00
Geido
f3c538a3dd fix: Upgrade eyes-cypress to latest (#27195)
Co-authored-by: Evan Rusackas <evan@rusackas.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-04-17 16:41:03 +02:00
dependabot[bot]
cd15655ed3 build(deps): bump @algolia/client-search from 4.23.2 to 4.23.3 in /docs (#28077)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 21:05:45 -06:00
dependabot[bot]
c457add848 build(deps-dev): bump typescript from 5.4.3 to 5.4.5 in /docs (#28074)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 21:05:28 -06:00
Evan Rusackas
19170d94c8 chore(asf): disable calendar display by default, click to show (#28048) 2024-04-16 17:25:42 -06:00
Daniel Vaz Gaspar
594e5a50a3 docs: add more warnings for default secrets and docker-compose (#27921)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-04-16 17:02:11 -06:00
Maxime Beauchemin
3310315d4b fix: switch off dependabot for pip/python (#28061) 2024-04-16 12:15:21 -07:00
Evan Rusackas
80f76947d1 chore(csp): nix bugherd, add githubusercontent (#28064) 2024-04-16 13:13:21 -06:00
Geido
89da4f82d3 fix(Dashboard): Support "Edit chart" click on a new window (#28054) 2024-04-16 20:03:17 +02:00
Maxime Beauchemin
5a9ddbba2e docs: move mp4 video to superset-site/tree/lfs (#27998) 2024-04-16 09:31:58 -07:00
Evan Rusackas
181a901f75 chore(ASF): adds DOAP file and bumping apache-rat (#27978) 2024-04-16 10:27:12 -06:00
Michael S. Molina
aab645e01c chore: Updates release related assets (#28041) 2024-04-16 13:12:24 -03:00
Maxime Beauchemin
e9c0ca545f feat: Slack Avatar integration (#27849) 2024-04-16 08:40:27 -07:00
Michael S. Molina
6e01a68276 fix: Dynamic filter does not show all values on blur/clear events (#28036) 2024-04-16 08:11:56 -03:00
Evan Rusackas
4b0452b87b chore(docs): disable bugherd for now (#28045) 2024-04-15 21:46:34 -06:00
Maxime Beauchemin
de9daf7ad9 chore: stabilize MySQL tests by aligning isolation levels (#28028) 2024-04-15 15:49:09 -07:00
Maxime Beauchemin
c225e17a75 chore: consolidate the Superset python package metadata (#27884) 2024-04-15 14:44:47 -07:00
Elizabeth Thompson
99c414e4da fix: bump client side chart timeouts to use the SUPERSET_WEBSERVER_TIMEOUT (#28018) 2024-04-15 13:16:18 -07:00
Maxime Beauchemin
0c12369084 fix: support docker/.env-local for docker-compose (#28039) 2024-04-15 10:23:32 -07:00
Siva Kumar Edupuganti
8538796128 docs: Updated NOTICE to 2024 (#28040) 2024-04-15 11:21:42 -06:00
Geido
2a62c40526 chore(Dashboard): Accessibility filters Popover (#28015) 2024-04-15 17:54:53 +02:00
Guen Prawiroatmodjo
08aaebbf7c feat(dbview): Add token request button to DuckDB and MotherDuck database modal (#27908)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2024-04-15 09:02:19 -04:00
Michael S. Molina
caad29b5b3 fix: Select is accepting unknown pasted values when allowNewOptions is false (#28017) 2024-04-15 09:33:17 -03:00
Daniel Vaz Gaspar
54387b4589 feat: new CSV upload form and API (#27840) 2024-04-15 09:38:51 +01:00
Maxime Beauchemin
40e77be813 feat: optimize docker-compose up for faster boot time (#27953) 2024-04-12 16:07:49 -07:00
Maxime Beauchemin
8afe973968 chore: Revert "chore(ci): make pre-commit step faster by skipping superset install" (#27999) 2024-04-12 10:52:25 -07:00
Beto Dealmeida
99a1601aea refactor: rename get_sqla_engine_with_context (#28012) 2024-04-12 13:31:05 -04:00
Michael S. Molina
06077d42a8 fix: Incorrect onChange value when an unloaded value is pasted into AsyncSelect (#27996) 2024-04-12 11:08:05 -03:00
Antonio Rivero
6844735a45 fix(time_offset): improved LIMIT-handling in advanced analytics (#27934) 2024-04-12 00:54:21 +02:00
Sam Firke
02b69709bb fix(docs): add missing code formatting, fix broken link (#27992) 2024-04-11 14:59:06 -04:00
sowo
35c8b7a162 fix(drillby): Enable DrillBy in charts w/o filters (dimensions) (#27941) 2024-04-11 12:47:02 -06:00
soniagtm
4f363e1180 feat: add option to disable rendering of html in sql lab and table chart (#27969)
Co-authored-by: Sonia <sonia.gautam@agoda.com>
2024-04-11 12:46:34 -06:00
Artem Gusev
7e679d56ea fix(superset-frontend): remove unused @superset-ui/plugin-chart-period-over-period-kpi package (#27994) 2024-04-11 15:27:22 -03:00
Jack
aef325a416 feat(alert report tabs): adding feature flag (#27773) 2024-04-11 11:50:06 -06:00
Maxime Beauchemin
9998a11fdd chore: remove no-op.yml as it's not needed anymore (#27980) 2024-04-11 10:06:45 -07:00
Maxime Beauchemin
cd136ad847 feat: GHA to bump python packages using supersetbot (#27863) 2024-04-11 10:03:27 -07:00
Maxime Beauchemin
a29cdefedf chore(ci): make pre-commit step faster by skipping superset install (#27979) 2024-04-10 20:22:47 -07:00
Maxime Beauchemin
a6d16ed477 docs: deploy docs when merging to master (#27956) 2024-04-10 17:03:09 -07:00
Maxime Beauchemin
dea430649d chore: [proposal] de-matrix python-version in GHAs (#27906) 2024-04-10 14:32:30 -07:00
Evan Rusackas
9423d59132 chore(docs): remove seemingly unused unpkg domain from CSPs (#27976) 2024-04-10 14:31:12 -06:00
Evan Rusackas
cbfdba2ca6 chore(docs): removing Superset Community Newsletter archive (#27977) 2024-04-10 14:17:32 -06:00
Jack
eb4ca010ae fix(alerts/reports): removing duplicate notification method options (#27239) 2024-04-10 13:49:08 -06:00
Evan Rusackas
8200261506 chore(docs): adding ASF Privacy Link. (#27975) 2024-04-10 12:59:45 -06:00
Evan Rusackas
601d011986 fix(node): bump node version in nvmrc files (#27974) 2024-04-10 11:33:38 -06:00
Evan Rusackas
c5c5f4dbc1 docs(k8s): making it clear users MUST update secrets for prod instances. (#27954)
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2024-04-10 08:25:35 -06:00
Evan Rusackas
717a3991f4 fix(asf): removing google hosted analytics and fonts (#27963) 2024-04-10 08:19:27 -06:00
Geido
4202fba0f1 fix(Dashboard): Add aria-label to filters and search forms (#27968) 2024-04-10 12:10:13 +02:00
dependabot[bot]
71d174bad6 build(deps-dev): update @types/mapbox__geojson-extent requirement from ^1.0.0 to ^1.0.3 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#27810)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-09 23:49:46 -06:00
Evan Rusackas
a5e65d572a fix(node): missed one bump from node 16 to 18. (#27955) 2024-04-09 15:44:33 -06:00
lodu
93b83febc2 chore(helm): bumping app version to 4.0.0 in helm chart (#27946) 2024-04-09 12:58:16 -07:00
John Bodley
481a63da55 chore(tests): Remove ineffectual login (#27149) 2024-04-09 09:52:02 -07:00
Kamil Gabryjelski
ae0f2ce3c1 fix: useTruncation infinite loop, reenable dashboard cross links on ChartList (#27701) 2024-04-09 12:30:57 +02:00
Kamil Gabryjelski
4ecfce98f6 feat(explore): Clear temporal filter value (#27788) 2024-04-09 11:27:21 +02:00
Maxime Beauchemin
e80d194b8f fix: improve change detection for GHAs (#27904) 2024-04-08 16:20:25 -07:00
Evan Rusackas
7c8e1bb46e fix(docs): CSP mods to re-enable Algolia search (#27942) 2024-04-08 14:37:50 -06:00
Michael S. Molina
996cced3d4 fix: Locale sent to frontend (#27926) 2024-04-08 14:01:55 -03:00
Maxime Beauchemin
5377b6cb2f fix: docker-release GHA fails with pathspec error (#27925) 2024-04-08 13:45:47 -03:00
listeng
c5b7f7a08c fix: fix-zh-translation-2 (#27922) 2024-04-08 10:41:46 -06:00
Elizabeth Thompson
34b1db219c feat(accessibility): add tabbing to chart menu in dashboard (#26138)
Co-authored-by: geido <diegopucci.me@gmail.com>
Co-authored-by: Diego Pucci <geido@Diegos-MBP.wind3.hub>
2024-04-08 18:40:57 +02:00
Michael S. Molina
662c1ed618 chore: Adds 4.0.0 data to CHANGELOG.md and UPDATING.md (#27937) 2024-04-08 13:14:48 -03:00
Brad Greenlee
4428bde024 docs: fix broken OS Dependencies link in CONTRIBUTING.md (#27932) 2024-04-08 09:35:04 -04:00
Spencer Torres
a1983e468b fix(frontend): allow "constructor" property in response data (#25407) 2024-04-05 22:46:12 -07:00
JUST.in DO IT
eda304bda9 chore(explore): Hide non-droppable metric and column list (#27717) 2024-04-05 09:29:05 -07:00
Beto Dealmeida
9377227e06 chore(OAuth2): refactor for custom OAuth2 clients (#27880) 2024-04-05 12:17:39 -04:00
joshkoeneHawking
62433c14a7 chore(helm): Bumping app version to 3.1.2 in helm chart (#27915) 2024-04-05 08:18:53 -07:00
dependabot[bot]
bbe209a9e8 build(deps-dev): update @babel/types requirement from ^7.23.9 to ^7.24.0 in /superset-frontend/plugins/plugin-chart-pivot-table (#27334)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-05 08:29:12 -06:00
Evan Rusackas
3e6d966513 fix(docs): restoring search capability with new public key (#27912) 2024-04-05 08:56:35 -04:00
Daniel Vaz Gaspar
559605e393 fix: add mariadb engine spec same as MySQL (#27919) 2024-04-05 10:41:37 +01:00
dependabot[bot]
31d0c542e2 build(deps-dev): bump fork-ts-checker-webpack-plugin from 5.2.1 to 9.0.2 in /superset-frontend/packages/superset-ui-demo (#27321)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-04 23:39:10 -06:00
dependabot[bot]
104299a211 build(deps): bump memoize-one from 5.2.1 to 6.0.0 in /superset-frontend/packages/superset-ui-demo (#27322)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-04 23:29:42 -06:00
dependabot[bot]
47d629f50c build(deps): update @types/d3-time requirement from ^3.0.0 to ^3.0.3 in /superset-frontend/packages/superset-ui-core (#27319)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-04 23:01:17 -06:00
Jamie King
fb919c718d docs: replace broken david badges with libraries.io (#27903) 2024-04-04 23:00:23 -06:00
Ross Mabbett
265390c243 fix(Dashboard): Add border to row when hovering HoverMenu in edit mode (#27593) 2024-04-04 16:31:07 -07:00
listeng
ebcf4e044b fix: corrects some inaccuracies zh translation (#27794)
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-04-04 16:07:13 -06:00
John Bodley
5ed48760fb chore(sqllab): Do not strip comments when executing SQL statements (#27725) 2024-04-03 19:24:39 -07:00
John Bodley
601432ad82 fix(pylint): Address errors/warnings introduced by #27867 (#27889) 2024-04-03 18:41:21 -07:00
dependabot[bot]
a9681fa3f3 build(deps-dev): bump @types/node from 20.11.24 to 20.12.4 in /superset-websocket (#27888)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 19:01:35 -06:00
dependabot[bot]
e5837b46e5 build(deps): bump @types/lodash from 4.14.202 to 4.17.0 in /superset-websocket (#27805)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 17:17:22 -06:00
dependabot[bot]
949e6b52e6 build(deps): bump fetch-retry from 4.1.1 to 6.0.0 in /superset-frontend (#27887)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 17:16:34 -06:00
Lily Kuang
cfa0556df7 fix(bar-chart): change legend padding for horizontal orientation (#27883) 2024-04-03 16:05:04 -07:00
John Bodley
27acc0b133 chore: Cleanup table access check naming (#27772) 2024-04-03 16:02:00 -07:00
dependabot[bot]
5beda309ab build(deps): bump winston from 3.11.0 to 3.13.0 in /superset-websocket (#27804)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 15:07:46 -06:00
dependabot[bot]
394abced43 build(deps-dev): update @types/lodash requirement from ^4.14.202 to ^4.17.0 in /superset-frontend/plugins/plugin-chart-handlebars (#27800)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-03 14:56:44 -06:00
dependabot[bot]
9a4bdeabbd build(deps): update lodash requirement from ^4.17.15 to ^4.17.21 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#27318)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-03 14:48:46 -06:00
dependabot[bot]
3f24083ed6 build(deps): bump bootstrap-slider from 10.6.2 to 11.0.2 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#27317)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-03 14:48:28 -06:00
dependabot[bot]
5cde275965 build(deps-dev): update @types/jest requirement from ^29.5.11 to ^29.5.12 in /superset-frontend/plugins/plugin-chart-pivot-table (#26975)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-03 14:48:03 -06:00
dependabot[bot]
ebdf1bbdd5 build(deps): update @types/react-table requirement from ^7.7.19 to ^7.7.20 in /superset-frontend/plugins/plugin-chart-table (#27833)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-03 14:46:26 -06:00
dependabot[bot]
c661518bb1 build(deps): bump @docsearch/react from 3.5.2 to 3.6.0 in /docs (#27813)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 14:45:17 -06:00
github-actions[bot]
870e94809c chore(🦾): bump python pytest 7.3.1 -> 7.4.4 (#27864)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-04-03 11:07:59 -07:00
dependabot[bot]
1b9e2581d2 build(deps-dev): bump @types/underscore from 1.11.6 to 1.11.15 in /superset-frontend (#27343)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 11:28:30 -06:00
Kamil Gabryjelski
a498d6d10f refactor: Move fetchTimeRange to core package (#27852) 2024-04-03 18:34:23 +02:00
John Bodley
30bc8f06dc chore: Default to engine specification regarding using wildcard (#27843) 2024-04-03 09:09:37 -07:00
Michael S. Molina
24fc2b67d8 chore: Updates CHANGELOG.md with 3.1.2 data (#27878) 2024-04-03 13:08:43 -03:00
github-actions[bot]
2a06c08c6b chore(🦾): bump python pylint 2.17.7 -> 3.1.0 (#27867)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-04-03 09:03:47 -07:00
dependabot[bot]
6e8ea2753b build(deps-dev): bump @types/redux-mock-store from 1.0.2 to 1.0.6 in /superset-frontend (#27836)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 08:43:49 -07:00
John Bodley
c38529741e chore(sql_parse): Provide more meaningful SQLGlot errors (#27858) 2024-04-03 07:10:52 -07:00
dependabot[bot]
848a7ffbf3 build(deps): bump @algolia/client-search from 4.22.1 to 4.23.2 in /docs (#27824)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 09:04:20 -04:00
Kamil Gabryjelski
c3149994ac feat(viz picker): Remove some tags, refactor Recommended section (#27708) 2024-04-03 14:04:42 +02:00
dependabot[bot]
d318df96ae build(deps): bump dompurify from 2.4.9 to 3.0.11 in /superset-frontend/plugins/legacy-preset-chart-nvd3 (#27816)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-02 23:49:33 -06:00
github-actions[bot]
208afc96a1 chore(🦾): bump python pyfakefs 5.2.2 -> 5.3.5 (#27874)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:30:39 -07:00
github-actions[bot]
6052ef656d chore(🦾): bump python grpcio 1.60.1 -> 1.62.1 (#27872)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:30:12 -07:00
github-actions[bot]
87e1c3f2fd chore(🦾): bump python google-cloud-bigquery 3.20.0 -> 3.20.1 (#27868)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:29:45 -07:00
github-actions[bot]
9d0928633a chore(🦾): bump python pytest-cov 4.0.0 -> 5.0.0 (#27866)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:29:09 -07:00
github-actions[bot]
1d3fdc74dc chore(🦾): bump python sqloxide 0.1.33 -> 0.1.43 (#27871)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:28:44 -07:00
github-actions[bot]
271fbc064e chore(🦾): bump python sqlglot 23.2.0 -> 23.6.3 (#27875)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:27:34 -07:00
github-actions[bot]
976b098421 chore(🦾): bump python docker 6.1.1 -> 7.0.0 (#27870)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:26:38 -07:00
github-actions[bot]
9c3915d42c chore(🦾): bump python freezegun 1.2.2 -> 1.4.0 (#27869)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:26:01 -07:00
github-actions[bot]
e39bb57c07 chore(🦾): bump python pillow 10.2.0 -> 10.3.0 (#27873)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:25:16 -07:00
github-actions[bot]
08700f8cb9 chore(🦾): bump python pre-commit 3.3.3 -> 3.7.0 (#27865)
Co-authored-by: GitHub Action <action@github.com>
2024-04-02 22:11:09 -07:00
Maxime Beauchemin
6683d292ce fix: run pip-compile-multi --no-upgrade (#27861) 2024-04-02 22:08:00 -07:00
Braum
ad752f04c7 docs: small cleanup (#27791)
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-04-02 21:57:27 -06:00
Maxime Beauchemin
c990baf96a fix: GHA update-monorepo-lockfiles (#27860) 2024-04-02 21:44:27 -06:00
dependabot[bot]
59f0057017 build(deps): update xss requirement from ^1.0.14 to ^1.0.15 in /superset-frontend/plugins/plugin-chart-table (#27835)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub-Actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-04-02 21:36:34 -06:00
Maxime Beauchemin
8e3cecda9f feat: move supersetbot out of repo (#27647) 2024-04-02 20:28:00 -07:00
Beto Dealmeida
9022f5c519 feat(SIP-85): OAuth2 for databases (#27631) 2024-04-02 22:05:33 -04:00
dependabot[bot]
fdc2dbe7db build(deps-dev): bump react-test-renderer from 16.9.0 to 16.14.0 in /superset-frontend (#27808)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 20:02:17 -06:00
dependabot[bot]
fa74d32a6a build(deps): bump @ant-design/icons from 5.3.1 to 5.3.6 in /docs (#27819)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 20:01:55 -06:00
John Bodley
5ab95aaf7d chore(sql_parse): Strip leading/trailing whitespace in Jinja macro extraction (#27842) 2024-04-02 17:08:42 -07:00
Maxime Beauchemin
1c742f5866 feat: setup a pyproject.toml (#27859) 2024-04-02 16:53:14 -07:00
Evan Rusackas
5603453c18 chore(node): bumping Superset to Node 18 (#27198) 2024-04-02 16:48:08 -06:00
dependabot[bot]
29a5b72d5f build(deps-dev): bump typescript from 5.3.3 to 5.4.3 in /docs (#27814)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 16:38:41 -06:00
dependabot[bot]
e2b708e8f7 build(deps-dev): bump @docusaurus/module-type-aliases from 3.1.1 to 3.2.0 in /docs (#27818)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 16:15:14 -06:00
dependabot[bot]
48bff6b352 build(deps-dev): bump @tsconfig/docusaurus from 2.0.2 to 2.0.3 in /docs (#27823)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 15:34:15 -06:00
Maxime Beauchemin
12fe2929a4 fix: row limits & row count labels are confusing (#27700) 2024-04-02 13:58:35 -07:00
Maxime Beauchemin
9fea3154fa fix: pkg-config dependency in Dockerfile (#27855)
Co-authored-by: Insider <ziglee@mail.ru>
2024-04-02 13:36:13 -07:00
EugeneTorap
3a34c7ff7c chore: Bump to Python3.10 (#24112)
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-04-02 09:47:58 -07:00
JUST.in DO IT
f25795c4e4 fix(dashboard): missing null check in error extra (#27845) 2024-04-02 09:20:43 -07:00
Craig Rueda
8bdf457dfa feat(db): Adding DB_SQLA_URI_VALIDATOR (#27847) 2024-04-02 09:00:32 -07:00
dependabot[bot]
9fece4f811 build(deps): bump actions/github-script from 5 to 7 (#27802)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 07:46:42 -07:00
Maxime Beauchemin
3e147f8693 fix: alembic's 'superset db migrate' fails with CompileError (#27846) 2024-04-02 07:45:55 -07:00
github-actions[bot]
0d0e47acf7 chore(🦾): bump python flask-session 0.5.0 -> 0.8.0 (#27751)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-04-01 20:00:42 -07:00
Michael S. Molina
ca47717eb0 chore: Adds the 4.0 release notes (#27441)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-04-01 15:55:41 -03:00
github-actions[bot]
a664e21054 chore(🦾): bump python simplejson 3.17.3 -> 3.19.2 (#27757)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-04-01 09:43:47 -07:00
Michael S. Molina
a23bfeda0a chore: Updates translation owners (#27839) 2024-04-01 10:50:07 -03:00
Michael S. Molina
5b1d6b2850 fix: Select's storybook (#27785) 2024-03-30 06:41:54 +13:00
Michael S. Molina
356b0d8ee5 feat: Adds Heatmap chart migration logic (#27771) 2024-03-29 12:08:43 -03:00
github-actions[bot]
c0f8dfc7f9 chore(🦾): bump python thrift 0.16.0 -> 0.20.0 (#27754)
Co-authored-by: GitHub Action <action@github.com>
2024-03-28 18:57:13 -07:00
Maxime Beauchemin
79cf2060e5 docs: simplify the Quickstart guide (#27612) 2024-03-28 18:49:46 -07:00
Guen Prawiroatmodjo
fcf90dffa8 feat(db_engine): Add custom_user_agent when connecting to MotherDuck (#27665) 2024-03-28 18:05:28 -07:00
John Bodley
8ae4662f17 chore(docs): Cleanup UPDATING.md (#27768) 2024-03-29 12:53:45 +13:00
Michael S. Molina
546d48adbb feat: Adds the ECharts Heatmap chart (#25353) 2024-03-28 16:16:17 -03:00
Michael S. Molina
d69a1870a0 fix: Select onChange is fired when the same item is selected in single mode (#27706) 2024-03-28 11:32:00 -03:00
Michael S. Molina
bbcb722e50 fix: Removes filter plugins from viz gallery (#27763) 2024-03-28 11:30:45 -03:00
github-actions[bot]
951d7d66ac chore(🦾): bump python pandas-gbq 0.19.1 -> 0.22.0 (#27750)
Co-authored-by: GitHub Action <action@github.com>
2024-03-28 00:47:29 -07:00
github-actions[bot]
a52f0d6947 chore(🦾): bump python xlsxwriter 3.0.7 -> 3.0.9 (#27747)
Co-authored-by: GitHub Action <action@github.com>
2024-03-28 00:46:47 -07:00
github-actions[bot]
e1e3b99d03 chore(🦾): bump python google-cloud-bigquery 3.10.0 -> 3.20.0 (#27758)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:40:37 -07:00
github-actions[bot]
10785e301e chore(🦾): bump python python-dotenv 0.19.0 -> 1.0.1 (#27759)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:39:41 -07:00
github-actions[bot]
fcfdb819f2 chore(🦾): bump python flask-cors 3.0.10 -> 4.0.0 (#27748)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:36:45 -07:00
github-actions[bot]
ca033efc6c chore(🦾): bump python cron-descriptor 1.2.24 -> 1.4.3 (#27746)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:35:10 -07:00
github-actions[bot]
424afe09f5 chore(🦾): bump python sqlglot 23.0.2 -> 23.2.0 (#27749)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:34:47 -07:00
github-actions[bot]
0804c424c0 chore(🦾): bump python humanize 3.11.0 -> 4.9.0 (#27756)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:34:20 -07:00
github-actions[bot]
84b01a312f chore(🦾): bump python flask-talisman 1.0.0 -> 1.1.0 (#27755)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:31:48 -07:00
github-actions[bot]
6cc1391173 chore(🦾): bump python packaging 23.1 -> 23.2 (#27753)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 18:29:33 -07:00
Elizabeth Thompson
70da454bbc fix: reduce alert error to warning (#27744) 2024-03-27 18:10:22 -07:00
github-actions[bot]
9065a4e7d2 chore(🦾): bump python google-cloud-bigquery 3.10.0 -> 3.20.0 (#27752)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:49:44 -07:00
github-actions[bot]
96dde34cdc chore(🦾): bump python gevent 23.9.1 -> 24.2.1 (#27728)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-03-27 17:36:09 -07:00
github-actions[bot]
a4c5446d2f chore(🦾): bump python flask-compress 1.13 -> 1.14 (#27740)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:10:18 -07:00
github-actions[bot]
34dca0eb31 chore(🦾): bump python mysqlclient 2.1.0 -> 2.2.4 (#27729)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-03-27 17:09:56 -07:00
github-actions[bot]
e5ebfd5c50 chore(🦾): bump python sqlalchemy-bigquery 1.6.1 -> 1.10.0 (#27727)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:08:32 -07:00
github-actions[bot]
fa76262b01 chore(🦾): bump python tableschema 1.20.2 -> 1.20.10 (#27732)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-03-27 17:08:07 -07:00
github-actions[bot]
bc62a80b8c chore(🦾): bump python tabulate 0.8.9 -> 0.8.10 (#27733)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:07:45 -07:00
github-actions[bot]
2ed5a346c4 chore(🦾): bump python mako 1.2.4 -> 1.3.2 (#27735)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:07:20 -07:00
github-actions[bot]
1e3393cfa0 chore(🦾): bump python python-dateutil 2.8.2 -> 2.9.0.post0 (#27736)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:06:59 -07:00
github-actions[bot]
c9d98a5679 chore(🦾): bump python pyjwt 2.4.0 -> 2.8.0 (#27737)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:06:35 -07:00
github-actions[bot]
0710242f22 chore(🦾): bump python click-option-group 0.5.5 -> 0.5.6 (#27741)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:06:15 -07:00
github-actions[bot]
0c192232ca chore(🦾): bump python typing-extensions 4.4.0 -> 4.10.0 (#27742)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 17:05:45 -07:00
github-actions[bot]
5dbee13b3e chore(🦾): bump python playwright 1.41.2 -> 1.42.0 (#27726)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 16:48:21 -07:00
github-actions[bot]
40a4806857 chore(🦾): bump python pydruid 0.6.5 -> 0.6.6 (#27731)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 16:47:50 -07:00
github-actions[bot]
bccd654b01 chore(🦾): bump python thrift 0.16.0 -> 0.20.0 (#27730)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 16:41:02 -07:00
Michael S. Molina
883e455e12 fix: Pylint errors on master (#27710) 2024-03-27 16:18:41 -03:00
Michael S. Molina
528946d3cc fix: Revert "chore: bump pylint (#27711)" (#27714) 2024-03-27 16:18:00 -03:00
github-actions[bot]
585144578e chore(🦾): bump python "sqlalchemy==1.4.52" (#27695)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-03-27 11:26:08 -07:00
JUST.in DO IT
38eecfc5d4 perf(explore): virtualized datasource field sections (#27625) 2024-03-27 11:25:55 -07:00
github-actions[bot]
c73b24ad08 chore(🦾): bump python "nh3==0.2.17" (#27687)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-03-27 11:25:01 -07:00
github-actions[bot]
7b44b8b7e1 chore(🦾): bump python "isodate==0.6.1" (#27680)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 11:24:21 -07:00
JUST.in DO IT
7369754192 fix(explore): drag and drop indicator UX (#27558) 2024-03-27 11:22:27 -07:00
Beto Dealmeida
a48f770195 chore: bump pylint (#27711) 2024-03-27 13:10:26 -04:00
github-actions[bot]
86bd7a93b5 chore(🦾): bump python "msgpack==1.0.8" (#27696)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 09:19:51 -07:00
github-actions[bot]
47adcd7f32 chore(🦾): bump python "wtforms==3.1.2" (#27688)
Co-authored-by: GitHub Action <action@github.com>
2024-03-27 09:19:24 -07:00
TechAuditBI
6db94e98b5 other: Add TechAuditBI to supersetbot metadata.js (#27634) 2024-03-27 12:19:11 -04:00
github-actions[bot]
349e496da5 chore(🦾): bump python "geopy==2.4.1" (#27699)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 19:19:40 -07:00
github-actions[bot]
4b971ec7a9 chore(🦾): bump python "backoff==2.2.1" (#27698)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 19:10:50 -07:00
github-actions[bot]
c2183e47ec chore(🦾): bump python "pyparsing==3.1.2" (#27692)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 17:53:39 -07:00
github-actions[bot]
a0cf91dad0 chore(🦾): bump python "croniter==2.0.3" (#27693)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 17:49:47 -07:00
github-actions[bot]
9960c78923 chore(🦾): bump python "click==8.1.7" (#27682)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 17:24:01 -07:00
github-actions[bot]
2c833b507c chore(🦾): bump python "polyline==2.0.2" (#27681)
Co-authored-by: GitHub Action <action@github.com>
2024-03-26 16:46:15 -07:00
github-actions[bot]
46fcfd80d7 chore(🦾): bump python "pyarrow==14.0.2" (#27684)
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2024-03-26 16:45:54 -07:00
John Bodley
3ae74d1f2d fix: Provide more inclusive error handling for saved queries (#27644) 2024-03-26 16:22:14 -03:00
Maxime Beauchemin
12921e6ec3 chore(🤖): bump python "flask==2.3.3" (#27657) 2024-03-26 12:18:36 -07:00
John Bodley
28cbedb82f fix: Leverage actual database for rendering Jinjarized SQL (#27646) 2024-03-27 08:12:25 +13:00
Jack
ed9e542781 fix(AlertReports): disabling value when not null option is active (#27550) 2024-03-26 19:13:29 +01:00
JUST.in DO IT
fa3fea9dd8 fix(sqllab): unable to remove table (#27636) 2024-03-27 06:19:50 +13:00
Ross Mabbett
ce210eebde fix(Chart Annotation modal): Table and Superset annotation options will paginate, exceeding previous max limit 100 (#27022) 2024-03-26 09:54:03 -07:00
Maxime Beauchemin
cf010b63e3 chore(🤖): bump python "sqlalchemy==1.4.52" (#27655) 2024-03-26 09:14:53 -07:00
Maxime Beauchemin
6aee58fad6 chore: fix master builds + bump python library "cryptography" (#27641) 2024-03-26 08:14:40 -07:00
github-actions[bot]
4720b4f0e6 chore(🤖): bump python "alembic==1.13.1" (#27650)
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: GitHub Action <action@github.com>
2024-03-25 23:03:47 -07:00
dependabot[bot]
a19398445b build(deps-dev): bump express from 4.17.3 to 4.19.2 in /superset-frontend (#27653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 22:09:20 -07:00
dependabot[bot]
bd281ee51c build(deps): bump express from 4.18.3 to 4.19.2 in /superset-websocket/utils/client-ws-app (#27651)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 21:37:35 -07:00
dependabot[bot]
b07c07de05 build(deps): bump express from 4.18.2 to 4.19.2 in /docs (#27652)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 21:36:41 -07:00
github-actions[bot]
560097931d chore(🤖): bump python "markdown==3.6" (#27649)
Co-authored-by: GitHub Action <action@github.com>
2024-03-25 21:13:05 -07:00
Jack
4fce940a9c fix(AlertReports): defaulting grace period to undefined (#27552) 2024-03-25 18:12:01 +01:00
Enzo Martellucci
a2fd83367e refactor: Migrate CssEditor to typescript (#27498) 2024-03-25 09:42:02 -07:00
Maxime Beauchemin
33c2d98e66 feat: use the local supersetbot (#27615) 2024-03-25 08:58:22 -07:00
Vitor Avila
d87422527b feat(jinja): metric macro (#27582) 2024-03-25 15:07:17 +00:00
Ross Mabbett
235670244e test(Migration to RTL): Refactor ActivityTable.test.tsx from Enzyme to RTL (#27422) 2024-03-22 14:21:55 -07:00
dependabot[bot]
22e823b5f9 build(deps-dev): bump webpack from 5.90.1 to 5.91.0 in /docs (#27626)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-22 12:46:46 -07:00
Sam Firke
0df7832639 chore: replace "dashboard" -> "report" in chart email report modal (#25540) 2024-03-22 15:33:05 -04:00
Jonathon Batson
f94f08eddd docs: updates list of countries in country-map-tools.mdx (#27596)
Co-authored-by: Evan Rusackas <evan@preset.io>
2024-03-22 12:26:50 -07:00
dependabot[bot]
bcfb8f4349 build(deps): bump webpack-dev-middleware from 5.3.1 to 5.3.4 in /docs (#27609)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-22 12:26:12 -07:00
Maxime Beauchemin
20007355d1 fix(dashboard,css): center align 'waiting on database' (#27611) 2024-03-22 12:11:14 -07:00
Enzo Martellucci
3f073dcd98 refactor: Migrate CopyToClipboard to typescript (#27309) 2024-03-22 12:51:00 -06:00
Jack
0f6e4041c7 fix(AlertReports): clearing custom_width when disabled (#27551) 2024-03-22 12:49:18 -06:00
Jack
30b497e758 feat(alerts-reports): adding pdf filetype to email and slack reports (#27497) 2024-03-22 17:54:30 +01:00
Beto Dealmeida
cd7972d05b feat: support for KQL in SQLScript (#27522) 2024-03-22 12:48:20 -04:00
Kamil Gabryjelski
5083ca0e81 fix: Persist query params appended to permalink (#27601) 2024-03-22 10:24:31 +01:00
Antonio Rivero
8a715cc1b5 feat(bar_chart): Stacked Bar chart with Time comparison in separated stacks (#27589) 2024-03-22 08:24:38 +01:00
Evan Rusackas
ec6bfcbaa0 chore(docs): clarifying doc comments about LOGO_TARGET_PATH (#27579) 2024-03-21 23:13:21 -06:00
Evan Rusackas
a47469f4c5 chore(examples): organizing example chart yaml files into dashboard folders (#27572) 2024-03-21 23:09:50 -06:00
Ross Mabbett
842b0939f6 fix(Dashboard): Add editMode conditional for translate3d fix on charts to allow intended Fullscreen (#27613) 2024-03-21 22:36:17 -06:00
John Bodley
b25dd0c055 fix(sql_parse): Ensure table extraction handles Jinja templating (#27470) 2024-03-22 13:39:28 +13:00
dependabot[bot]
a8c01f4cad build(deps-dev): bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /superset-frontend (#27610)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21 16:16:50 -06:00
Sam Firke
d4d8625ab8 fix(utils): fix off-by-one error in how rolling window's min_periods truncates dataframe (#27388) 2024-03-21 16:06:36 -06:00
Pat Nadolny
bfe55b9ded fix: Volatile datasource ordering in dashboard export (#19595)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2024-03-21 16:06:15 -06:00
Beto Dealmeida
72a41c1642 fix: sqlglot SQL Server (#27577) 2024-03-21 17:09:40 -04:00
Maxime Beauchemin
6f3afab01d fix(docker): error around missing requirements/base.txt (#27608) 2024-03-21 12:22:57 -07:00
Michael S. Molina
6e528426dd feat: Adds option to disable drill to detail per database (#27536) 2024-03-21 15:51:09 -03:00
hlcianfagna
fcceaf081c fix(db_engine_specs): Update convert_dttm to work correctly with CrateDB (#27567) 2024-03-21 11:35:40 -07:00
Maxime Beauchemin
e32b1c861f docs: make k8s top item in Installation section (#27540) 2024-03-21 10:22:27 -07:00
Michael S. Molina
718cd64657 fix: Skips Hive tests that are blocking PRs (#27605) 2024-03-21 13:26:24 -03:00
Beto Dealmeida
f274c4785d fix: skip another Hive test (#27595) 2024-03-20 16:59:27 -04:00
Beto Dealmeida
d0d9fc5bdf fix: bump sqlglot to support materialized CTEs (#27576) 2024-03-20 15:26:01 -04:00
Beto Dealmeida
5e8459bb91 fix: Hive integration test (#27523) 2024-03-20 13:55:35 -04:00
Maxime Beauchemin
d5680ad376 feat(supersetbot): label PRs and issues with author's public org (#27571) 2024-03-20 09:31:01 -07:00
John Bodley
ad7bd09819 chore: Update required jobs in asf.yml (#27574) 2024-03-20 07:09:36 +13:00
İSKENDER ÜLGEN OĞUL
86aa8bde8b feat(maps): Add Italy regions code to the map generator notebook (#27542) 2024-03-19 09:37:37 -06:00
Beto Dealmeida
36290ce72f fix: guest queries (#27566) 2024-03-19 11:20:52 -04:00
Craig Rueda
8341afbcf0 chore(helm): Bumping app version to 3.1.1 in helm chart (#27569) 2024-03-19 08:11:04 -07:00
Maxime Beauchemin
56a6660c16 chore: 2nd try - simplify python dependencies (#27505) 2024-03-18 18:39:41 -07:00
JUST.in DO IT
f4bdcb5743 perf(sqllab): reduce bootstrap data delay by queries (#27488) 2024-03-18 12:52:23 -07:00
Beto Dealmeida
376bfd05bd fix: pass valid SQL to SM (#27464) 2024-03-18 15:38:58 -04:00
Beto Dealmeida
36fd3c0bf8 feat: improve _extract_tables_from_sql (#26748) 2024-03-18 13:02:58 -04:00
Armando Fandango
d820c9c2ff fix: typo in configuring-superset.mdx (#27541) 2024-03-19 05:54:47 +13:00
JUST.in DO IT
1c155e8591 fix(explore): Allow only saved metrics and columns (#27539) 2024-03-19 05:51:02 +13:00
Lily Kuang
ae294274c7 feat(plugins): add color options for big number with time comparison (#27524) 2024-03-15 17:40:47 -07:00
Jack
ad9024b040 fix(alerts/reports): implementing custom_width as an Antd number input (#27260) 2024-03-15 19:10:00 +01:00
Sam Firke
13b6489b37 chore(docs): fix last broken Slack join link in docs (#27533) 2024-03-15 11:35:58 -06:00
dependabot[bot]
05d97b02e3 build(deps-dev): bump follow-redirects from 1.15.4 to 1.15.6 in /superset-frontend (#27518)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 16:41:35 -06:00
dependabot[bot]
b8f4d8099f build(deps-dev): bump follow-redirects from 1.15.4 to 1.15.6 in /superset-embedded-sdk (#27516)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 16:41:06 -06:00
dependabot[bot]
30e7ad929e build(deps): bump follow-redirects from 1.15.4 to 1.15.6 in /docs (#27517)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 16:40:40 -06:00
Beto Dealmeida
024b88a40d chore: add annotations to sql_parse.py (#27520) 2024-03-14 18:16:06 -04:00
Lily Kuang
d2c90013fc fix(big-number-chart): number format is not applying to percentage number of the time comparison (#27502) 2024-03-14 13:48:34 -07:00
İSKENDER ÜLGEN OĞUL
6b529a4b68 feat: Add Turkey's regions to country map visualization (#27455) 2024-03-14 14:20:39 -06:00
Ville Brofeldt
7f19d296b1 fix(postprocessing): resample with holes (#27487) 2024-03-14 12:02:01 -07:00
Maxime Beauchemin
16fcdb1ff3 fix: master build 4th attempt (#27515) 2024-03-14 11:27:55 -07:00
Maxime Beauchemin
6e22275c26 fix: another attempt at fixing docker master builds (#27514) 2024-03-14 09:42:28 -07:00
Maxime Beauchemin
2948abc55e fix: master docker build is broken (#27507) 2024-03-14 09:01:13 +00:00
Evan Rusackas
fb39951d2a chore(docs): relocating the edit page button a tad. (#27486) 2024-03-13 22:41:41 -06:00
Maxime Beauchemin
2fdf6d7b64 fix: docker builds in master fail (#27503) 2024-03-13 18:40:35 -07:00
Maxime Beauchemin
24cb06285c feat(supersetbot): introduce supersetbot as its own npm package, CLI and comment-operated bot (#27046) 2024-03-13 16:26:48 -07:00
Beto Dealmeida
26d8077e97 chore: improve SQL parsing (#26767) 2024-03-13 18:27:01 -04:00
Kamil Gabryjelski
a75bb7685d chore: Add an extension for Home submenu (#27480) 2024-03-13 16:30:32 +01:00
Beto Dealmeida
735b895dd5 fix: check if guest user modified query (#27484) 2024-03-12 21:28:06 -04:00
Ross Mabbett
85d0d88fc2 test(Migration to RTL): Refactor ChartTable.test.tsx from Enzyme to RTL (#27429) 2024-03-12 19:47:58 +01:00
Evan Rusackas
47ae9d4cc3 fix(webpack): remove double-dotted file extensions in webpack config (#27471) 2024-03-12 11:26:49 -06:00
Beto Dealmeida
6a7e5c2faf chore: add unit test for values_for_column (#27469) 2024-03-12 12:40:48 -04:00
dependabot[bot]
2a5b5fe049 build(deps-dev): bump eslint from 8.56.0 to 8.57.0 in /superset-websocket (#27327)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-11 21:11:48 -06:00
Beto Dealmeida
fbc8943fbd feat: show more information when loading chart (#27255) 2024-03-11 19:00:13 -04:00
Maxime Beauchemin
b1adede1ee feat: docker-compose to work off repo Dockerfile (#27434) 2024-03-11 13:15:02 -07:00
dependabot[bot]
6f1cbfa12d build(deps-dev): bump @types/node from 20.11.16 to 20.11.24 in /superset-websocket (#27326)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-11 12:32:16 -06:00
dependabot[bot]
91781ca045 build(deps): bump @storybook/types from 7.6.13 to 7.6.17 in /superset-frontend (#27347)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-11 12:31:55 -06:00
Maxime Beauchemin
372cac9527 chore: upgrade setuptools/pip in Dockerfile (#27405) 2024-03-11 09:42:14 -07:00
Geido
89e89de341 fix: SSH Tunnel configuration settings (#27186) 2024-03-11 16:56:54 +01:00
Mark Skelton
fde93dcf08 fix(dashboard): Only fetch CSS templates for dashboard header menu when in edit mode (#27411)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2024-03-08 10:21:36 -03:00
JUST.in DO IT
9ced2552db fix: missing shared color in mixed timeseries (#27403) 2024-03-07 10:04:49 -08:00
JUST.in DO IT
ce0b70cc86 fix: typescript errors in 4.0 (#27402) 2024-03-07 07:16:51 +13:00
Michael S. Molina
a54a24e3b5 fix: Re-enable CI checks on release branches (#27390) 2024-03-06 14:23:07 -03:00
JUST.in DO IT
5107cc0fd9 fix(sqllab): Close already removed tab (#27391) 2024-03-06 08:59:56 -08:00
Vitor Avila
66bf70172f fix(API): Updating assets via the API should preserve ownership configuration (#27364) 2024-03-06 16:40:41 +00:00
coteli
69d870cb7a feat(translations): Turkish translation files added (#27244) 2024-03-05 16:55:33 -07:00
Kamil Gabryjelski
a4c771e013 fix: Allow only dttm columns in comparison filter in Period over Period chart (#27209) 2024-03-05 21:24:26 +01:00
Daniel Vaz Gaspar
a3d2e0bf44 fix: improve explore REST api validations (#27395) 2024-03-05 17:44:51 +00:00
James O'Claire
721977a474 docs(import_datasources): Remove legacy documentation and update current use (#27290)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-03-05 11:13:28 -05:00
Evan Rusackas
d2f7dec208 feat: Add repo activity stats to README.md (#27372) 2024-03-04 11:37:46 -07:00
dependabot[bot]
42eeaad25d build(deps-dev): bump @types/jsonwebtoken from 9.0.5 to 9.0.6 in /superset-websocket (#27325)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-05 06:49:10 +13:00
dependabot[bot]
06cfd97bb9 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.61.0 to 5.62.0 in /superset-websocket (#27324)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-05 06:48:39 +13:00
Jack
32179f1a85 fix(Alerts & Reports): Fixing bug that resets cron value to default when empty (#27262) 2024-03-04 11:34:31 -05:00
Michael S. Molina
231e659b56 fix: Results section in Explore shows an infinite spinner (#27366) 2024-03-04 08:15:55 -05:00
Kamil Gabryjelski
5de2530e3c feat: Responsive UI for Big Number with Time Comparison (#27375) 2024-03-04 12:14:09 +01:00
Yongjie Zhao
2c00cc534c feat: support to fetch multiple date time in time_range endpoint (#27370)
Co-authored-by: Yongjie Zhao <yongjie.zhao@burda-forward.de>
2024-03-04 11:50:05 +01:00
Yongjie Zhao
e89ec4d593 feat: datediff in datetime_parser (#27368)
Co-authored-by: Yongjie Zhao <yongjie.zhao@burda-forward.de>
2024-03-04 11:49:48 +01:00
dependabot[bot]
3b18706d45 build(deps-dev): bump prettier from 3.2.4 to 3.2.5 in /superset-websocket (#27328)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 09:58:17 +00:00
dependabot[bot]
aca1d107a9 build(deps): bump react-lines-ellipsis from 0.15.0 to 0.15.4 in /superset-frontend (#27342)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 09:57:19 +00:00
dependabot[bot]
ecaf201fd0 build(deps): bump express from 4.18.2 to 4.18.3 in /superset-websocket/utils/client-ws-app (#27337)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 09:55:16 +00:00
Jack
5915851ba3 fix(deps): resolving canvg and html2canvas module not found (#27315) 2024-03-03 17:26:17 -07:00
nigzak
f453d5d7e7 chore: numexpr to fix CVE-2023-39631⁠ (2.8.4 => 2.9.0) (#27187)
Co-authored-by: Stefan Arnold <stefan.st.arnold@mercedes-benz.com>
2024-03-01 18:50:17 +00:00
Michael S. Molina
8a46694ce9 fix: Missing SQL Lab permission (#27361) 2024-03-01 13:08:39 -05:00
Michael S. Molina
fe2f5a7be9 fix: Heatmap numeric sorting (#27360) 2024-03-01 13:08:30 -05:00
JUST.in DO IT
ae8ec9c2b4 fix(sqllab): Missing empty query result state (#27313) 2024-03-01 13:08:07 -05:00
dependabot[bot]
60c486a8af build(deps): bump @ant-design/icons from 5.3.0 to 5.3.1 in /docs (#27331)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 09:57:27 -08:00
Sam Firke
7353055e45 chore(docs): remove filterbox section from Exploring docs page (#27356) 2024-03-01 11:48:17 -05:00
Kamil Gabryjelski
ad6327db95 fix: Migration for single metric in Big Number with Time Comparison (#27351) 2024-03-01 11:43:22 +01:00
nigzak
d5814003dd chore: update redis to >= 4.6.0 (#27250)
Co-authored-by: Stefan Arnold <stefan.st.arnold@mercedes-benz.com>
2024-03-01 10:25:17 +00:00
George Voicu
89d49e55bb feat(embedded-sdk): Add 'urlParams' option to pass query parameters to embedded dashboard (#24408) 2024-02-29 17:27:13 -07:00
Ross Mabbett
ad3995daf6 fix(dashboard): table chart drag preview overflowing container (#27308) 2024-02-29 15:37:55 -07:00
Vitor Avila
9beee92da1 feat(logs context): Adding dashboard id to logs context (#27298) 2024-02-29 13:28:54 -08:00
Evan Rusackas
eb2561f80c fix(docs): just a missing backtick (#27312) 2024-02-29 16:13:09 -05:00
Joe Li
371f2ab851 chore: bump cryptography minimum to 42.0.4 (#27281) 2024-02-29 20:28:57 +02:00
JUST.in DO IT
8d245704ef fix(sqllab): invalid dump sql shown after closing tab (#27295) 2024-02-29 09:57:30 -08:00
goto-loop
d65f64d1ce fix(plugin-chart-echarts): calculate Gauge Chart intervals correctly when min value is set (#27285) 2024-02-29 08:41:23 -08:00
Jongwoo Han
234a139fb2 chore: Replace deprecated command with environment file (#27304) 2024-02-29 15:16:20 +00:00
Michael S. Molina
fa04eec2d5 fix: Incorrect data type on import page (#27307) 2024-02-29 10:03:20 -05:00
Michael S. Molina
7854b622a3 fix: Data zoom with horizontal orientation (#27291) 2024-02-29 08:53:09 -05:00
Daniel Vaz Gaspar
b16c89944e fix(ci): check file changes for python should include the scripts folders (#27303) 2024-02-29 13:10:16 +00:00
Elizabeth Thompson
228d27f1f2 chore(ci): run unit tests on script changes (#27297) 2024-02-29 12:47:21 +02:00
Elizabeth Thompson
d6e8dd114b fix: Revert "chore: Replace deprecated command with environment file (#240… (#27296) 2024-02-29 11:37:09 +02:00
Michael S. Molina
9900f56670 fix: Navigating to an invalid page index in lists (#27273) 2024-02-28 10:15:28 -05:00
Daniel Vaz Gaspar
dfa15d7649 docs: update CVEs for 3.0.4 and 3.1.1 (#27287) 2024-02-28 14:44:46 +00:00
Maxime Beauchemin
0383bedaba fix(ci): docker builds don't work from remote forks (#27282) 2024-02-28 14:10:06 +00:00
Evan Rusackas
0468c57629 fix(docs): more CSP tweaks (#27280) 2024-02-27 17:05:59 -07:00
Evan Rusackas
7a86d5e38e fix(docs): more csp tweaks (#27279) 2024-02-27 15:26:17 -08:00
Evan Rusackas
c320b95be9 fix(docs): even more CSP adjustments... (#27278) 2024-02-27 15:53:00 -07:00
Evan Rusackas
e0ca07ba52 fix(docs): Even more access in CSP policies! (#27277) 2024-02-27 14:45:57 -07:00
Evan Rusackas
13288bd4bb fix(docs): More CSP touchups (#27275) 2024-02-27 14:20:30 -07:00
Evan Rusackas
058d6ff5c0 fix(docs): removing meta tag CSP, poking more holes in htaccess (#27274) 2024-02-27 13:22:34 -07:00
JUST.in DO IT
f17afae428 build(deps): bump re-resizable from 6.6.1 to 6.9.11 in /superset-frontend (#27219)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-27 10:07:56 -08:00
dependabot[bot]
b03ef55aaa build(deps): bump es5-ext from 0.10.53 to 0.10.63 in /docs (#27264)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-27 12:57:56 -05:00
Maxime Beauchemin
53e1aeccbe fix: docker CI job doesn't trigger on master (#27261) 2024-02-27 08:39:11 -08:00
Michael S. Molina
ce9e4b4b77 fix: Inoperable dashboard filter slider when range is <= 1 (#27271)
Co-authored-by: Justin Francos <jfrancos@manifold.ai>
2024-02-27 11:38:18 -05:00
Jongwoo Han
e817b48ec9 chore: Replace deprecated command with environment file (#24063) 2024-02-27 17:34:48 +02:00
James O'Claire
6447cd0e92 fix(import-datasources): Use "admin" user as default for importing datasources (#27154) 2024-02-27 17:32:04 +02:00
Michael S. Molina
8b4dce71d6 fix: Sorting charts/dashboards makes the applied filters ineffective (#27258) 2024-02-27 08:20:42 -05:00
Evan Rusackas
4a1f66a6c7 fix(docs site): CSP changes, take 2 (#27259) 2024-02-26 15:04:12 -07:00
Evan Rusackas
ed4b973531 fix(docs site): Opening up CSP for 3rd party frame content. (#27256) 2024-02-26 13:46:51 -07:00
dependabot[bot]
ef4b72724e build(deps): bump @ant-design/icons from 4.7.0 to 5.3.0 in /docs (#26932)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-26 18:03:21 +02:00
Vitor Avila
1d571ec9e6 feat(jinja): current_user_email macro (#27197) 2024-02-23 15:28:30 -08:00
Evan Rusackas
11760d3fbf fix(trino): bumping trino to fix hudi schema fetching (#27213) 2024-02-23 15:25:21 -05:00
Jack
6278315072 fix(reports): fixing unit test (#27236) 2024-02-23 15:05:05 -05:00
John Bodley
2c564817f1 fix(sqlglot): Address regressions introduced in #26476 (#27217) 2024-02-24 08:47:36 +13:00
Michael S. Molina
6d8870125f chore: Removes Chromatic workflow and dependencies (#27232) 2024-02-23 13:31:58 -05:00
Daniel Vaz Gaspar
62cf0365e9 fix: bump FAB to 4.4.1 (perf issue) (#27233) 2024-02-23 17:57:49 +00:00
Daniel Vaz Gaspar
c78ea20bef fix: setting important lower bounds versions on requirements (#27167) 2024-02-23 10:09:56 +00:00
Beto Dealmeida
c54fbe6e96 fix: no limit in SELECT * for TOP dbs (#27215) 2024-02-22 17:01:29 -05:00
Evan Rusackas
2a47edc3a7 fix(releasing): fixes npm script for release validation (#27214) 2024-02-22 16:58:46 -05:00
Kamil Gabryjelski
54037972f2 fix(plugin-chart-period-over-period-kpi): Blank chart when switching from BigNumberTotal (#27203) 2024-02-22 17:37:23 +01:00
Maxime Beauchemin
f1cd8cc263 feat(ci): no more docker builds on PR-related events (#27146) 2024-02-22 11:14:41 -05:00
Antonio Rivero
127df24c08 refactor(plugins): Time Comparison Utils (#27145) 2024-02-22 14:43:43 +01:00
Daniel Vaz Gaspar
7330125fe9 fix: docker-compose point to master tag (#27179) 2024-02-22 08:50:57 +00:00
dependabot[bot]
00b47ab41f build(deps-dev): bump prettier from 3.0.3 to 3.2.4 in /superset-websocket (#26732)
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-02-21 18:18:18 -07:00
Bill Belanger
cc2f6f1ed9 fix: Translations related to the date range filter (#26074) 2024-02-21 16:29:03 -07:00
Stepan
2e4f6d3f38 perf(export): export generates unnecessary files content (#26765) 2024-02-21 16:28:38 -07:00
dependabot[bot]
744f68d637 build(deps): bump ip from 1.1.8 to 1.1.9 in /superset-frontend/cypress-base (#27180)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-21 12:47:07 -07:00
JUST.in DO IT
ac8c283df0 fix(dashboard): drag and drop indicator UX (#26699) 2024-02-21 11:29:34 -08:00
Kamil Gabryjelski
fd4f9ac044 feat: Use standardized controls in Big Number with Time Comparison (#27193) 2024-02-21 20:28:19 +01:00
Sam Firke
b4aae48c4b chore(docs): change 'install from scratch' to 'install from PyPI' (#27175) 2024-02-21 14:22:41 -05:00
Michael S. Molina
983a1646c4 fix: Failed to execute importScripts on worker-css (#27191) 2024-02-22 07:01:26 +13:00
dependabot[bot]
a35f642998 build(deps-dev): bump ip from 2.0.0 to 2.0.1 in /superset-frontend (#27178)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-22 06:53:54 +13:00
Evan Rusackas
7e9361fd5f feat(docs): Adds an "Edit this page on GitHub" button to docs pages (#27176) 2024-02-21 09:24:07 -07:00
JUST.in DO IT
8fbaf84f66 fix(sqllab): typeahead search is broken in db selector (#27181) 2024-02-21 09:03:41 -05:00
Prada Souvanlasy
3818da8509 feat(helm): optionally set pod disruption budgets (#27163) 2024-02-20 15:51:54 -08:00
John Bodley
986e4178f5 chore: Remove obsolete actor (#27147) 2024-02-21 09:08:08 +13:00
Michael S. Molina
c50dd3690a chore: Updates CHANGELOG.md with 3.1.1 data (#27170) 2024-02-20 11:19:14 -05:00
Daniel Vaz Gaspar
ceda51617b fix: CSRF exempt unit_tests (#27168) 2024-02-20 16:18:30 +00:00
Anirudh Hegde
b8fc2e57cc feat(adt): add 403 to api response status codes (#27162) 2024-02-20 15:09:47 +00:00
2997 changed files with 219944 additions and 193386 deletions

View File

@@ -63,24 +63,23 @@ github:
# combination here.
contexts:
- lint-check
- cypress-matrix (0, chrome)
- cypress-matrix (1, chrome)
- cypress-matrix (2, chrome)
- cypress-matrix (3, chrome)
- cypress-matrix (4, chrome)
- cypress-matrix (5, chrome)
- frontend-build
- pre-commit (3.9)
- python-lint (3.9)
- test-mysql (3.9)
- test-postgres (3.9)
- test-postgres (3.10)
- test-sqlite (3.9)
- docker-build (dev, linux/amd64)
- docker-build (lean, linux/amd64)
- docker-build (py310, linux/arm64)
- docker-build (py310, linux/amd64)
- docker-build (websocket, linux/arm64)
- docker-build (websocket, linux/amd64)
- docker-build (dockerize, linux/arm64)
- docker-build (dockerize, linux/amd64)
- pre-commit
- python-lint
- test-mysql
- test-postgres (current)
- test-postgres (next)
- test-postgres-hive
- test-postgres-presto
- test-sqlite
- unit-tests (current)
- unit-tests (next)
required_pull_request_reviews:
dismiss_stale_reviews: false

4
.github/CODEOWNERS vendored
View File

@@ -27,8 +27,6 @@
/.asf.yaml @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @john-bodley @kgabryje @dpgaspar
# Maps are a finnicky contribution process we care about
**/*.geojson @villebro @rusackas
/superset-frontend/plugins/legacy-plugin-chart-country-map/ @villebro @rusackas
# Translations are a finnicky contribution that we care about
/superset/translations/ @villebro @rusackas @michael-s-molina

View File

@@ -7,6 +7,7 @@ body:
value: |
Hello Superset Community member! Please keep things tidy by putting your post in the proper place:
🚨 Reporting a security issue: send an email to security@superset.apache.org. DO NOT USE GITHUB ISSUES TO REPORT SECURITY PROBLEMS.
🐛 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".
@@ -45,8 +46,8 @@ body:
label: Superset version
options:
- master / latest-dev
- "3.1.0"
- "3.0.4"
- "4.0.1"
- "3.1.3"
validations:
required: true
- type: dropdown

View File

@@ -0,0 +1,31 @@
name: 'Change Detector'
description: 'Detects file changes for pull request and push events'
inputs:
token:
description: 'GitHub token for authentication'
required: true
outputs:
python:
description: 'Whether Python-related files were changed'
value: ${{ steps.change-detector.outputs.python }}
frontend:
description: 'Whether frontend-related files were changed'
value: ${{ steps.change-detector.outputs.frontend }}
docker:
description: 'Whether docker-related files were changed'
value: ${{ steps.change-detector.outputs.docker }}
docs:
description: 'Whether docs-related files were changed'
value: ${{ steps.change-detector.outputs.docs }}
runs:
using: 'composite'
steps:
- name: Detect file changes
id: change-detector
run: |
python --version
python scripts/change_detector.py
shell: bash
env:
GITHUB_TOKEN: ${{ inputs.token }}
GITHUB_OUTPUT: ${{ github.output }}

View File

@@ -0,0 +1,53 @@
name: 'Setup Python Environment'
description: 'Set up Python and install dependencies with optional configurations.'
inputs:
python-version:
description: 'Python version to set up. Accepts a version number, "current", or "next".'
required: true
default: 'current'
cache:
description: 'Cache dependencies. Options: pip'
required: false
default: 'pip'
requirements-type:
description: 'Type of requirements to install. Options: base, development, default'
required: false
default: 'dev'
install-superset:
description: 'Whether to install Superset itself. If false, only python is installed'
required: false
default: 'true'
runs:
using: 'composite'
steps:
- name: Interpret Python Version
id: set-python-version
shell: bash
run: |
if [ "${{ inputs.python-version }}" = "current" ]; then
echo "PYTHON_VERSION=3.10" >> $GITHUB_ENV
elif [ "${{ inputs.python-version }}" = "next" ]; then
echo "PYTHON_VERSION=3.11" >> $GITHUB_ENV
elif [ "${{ inputs.python-version }}" = "previous" ]; then
echo "PYTHON_VERSION=3.9" >> $GITHUB_ENV
else
echo "PYTHON_VERSION=${{ inputs.python-version }}" >> $GITHUB_ENV
fi
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: ${{ inputs.cache }}
- name: Install dependencies
run: |
if [ "${{ inputs.install-superset }}" = "true" ]; then
sudo apt-get update && sudo apt-get -y install libldap2-dev libsasl2-dev
pip install --upgrade pip setuptools wheel
if [ "${{ inputs.requirements-type }}" = "dev" ]; then
pip install -r requirements/development.txt
elif [ "${{ inputs.requirements-type }}" = "base" ]; then
pip install -r requirements/base.txt
fi
fi
shell: bash

View File

@@ -0,0 +1,40 @@
name: 'Setup supersetbot'
description: 'Sets up supersetbot npm lib from the repo or npm'
inputs:
from-npm:
description: 'Install from npm instead of local setup'
required: false
default: 'true' # Defaults to using the local setup
runs:
using: 'composite'
steps:
- name: Setup Node Env
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install supersetbot from npm
if: ${{ inputs.from-npm == 'true' }}
shell: bash
run: npm install -g supersetbot
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
if: ${{ inputs.from-npm == 'false' }}
uses: actions/checkout@v4
with:
repository: apache-superset/supersetbot
path: supersetbot
- name: Setup supersetbot from repo
if: ${{ inputs.from-npm == 'false' }}
shell: bash
working-directory: supersetbot
run: |
# simple trick to install globally with dependencies
npm pack
npm install -g ./supersetbot*.tgz
- name: echo supersetbot version
shell: bash
run: supersetbot version

View File

@@ -19,14 +19,11 @@ updates:
open-pull-requests-limit: 30
versioning-strategy: increase
- package-ecosystem: "pip"
directory: "/requirements/"
schedule:
interval: "monthly"
labels:
- pip
- dependabot
open-pull-requests-limit: 30
# - package-ecosystem: "pip"
# NOTE: as dependabot isn't compatible with our python
# dependency setup (pip-compile-multi), we'll be using
# `supersetbot` instead
- package-ecosystem: "npm"
directory: ".github/actions"

5
.github/labeler.yml vendored
View File

@@ -72,6 +72,11 @@
- any-glob-to-any-file:
- 'superset/translations/zh/**'
"i18n:traditional-chinese":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/zh_TW/**'
"i18n:dutch":
- changed-files:
- any-glob-to-any-file:

View File

@@ -31,20 +31,6 @@ say() {
fi
}
# default command to run when the `run` input is empty
default-setup-command() {
apt-get-install
pip-upgrade
}
apt-get-install() {
say "::group::apt-get install dependencies"
sudo apt-get update && sudo apt-get install --yes \
libsasl2-dev \
libldap2-dev
say "::endgroup::"
}
pip-upgrade() {
say "::group::Upgrade pip"
pip install --upgrade pip
@@ -103,6 +89,8 @@ EOF
setup-mysql() {
say "::group::Initialize database"
mysql -h 127.0.0.1 -P 13306 -u root --password=root <<-EOF
SET GLOBAL transaction_isolation='READ-COMMITTED';
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
DROP DATABASE IF EXISTS superset;
CREATE DATABASE superset DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
DROP DATABASE IF EXISTS sqllab_test_db;
@@ -129,6 +117,20 @@ testdata() {
say "::endgroup::"
}
celery-worker() {
cd "$GITHUB_WORKSPACE"
say "::group::Start Celery worker"
# must specify PYTHONPATH to make `tests.superset_test_config` importable
export PYTHONPATH="$GITHUB_WORKSPACE"
celery \
--app=superset.tasks.celery_app:app \
worker \
--concurrency=2 \
--detach \
--optimization=fair
say "::endgroup::"
}
cypress-install() {
cd "$GITHUB_WORKSPACE/superset-frontend/cypress-base"
@@ -141,35 +143,10 @@ cypress-install() {
cache-save cypress
}
# Run Cypress and upload coverage reports
cypress-run() {
cypress-run-all() {
local USE_DASHBOARD=$1
cd "$GITHUB_WORKSPACE/superset-frontend/cypress-base"
local page=$1
local group=${2:-Default}
local cypress="./node_modules/.bin/cypress run"
local browser=${CYPRESS_BROWSER:-chrome}
export TERM="xterm"
export ELECTRON_DISABLE_GPU=true # Attempt to disable GPU for Electron-based Cypress
say "::group::Run Cypress for [$page]"
if [[ -z $CYPRESS_KEY ]]; then
xvfb-run --auto-servernum --server-args='-screen 0, 1024x768x24' $cypress --spec "cypress/e2e/$page" --browser "$browser"
else
export CYPRESS_RECORD_KEY=$(echo $CYPRESS_KEY | base64 --decode)
# additional flags for Cypress dashboard recording
xvfb-run --auto-servernum --server-args='-screen 0, 1024x768x24' $cypress --spec "cypress/e2e/$page" --browser "$browser" \
--record --group "$group" --tag "${GITHUB_REPOSITORY},${GITHUB_EVENT_NAME}" \
--parallel --ci-build-id "${GITHUB_SHA:0:8}-${NONCE}"
fi
# don't add quotes to $record because we do want word splitting
say "::endgroup::"
}
cypress-run-all() {
# Start Flask and run it in background
# --no-debugger means disable the interactive debugger on the 500 page
# so errors can print to stderr.
@@ -180,27 +157,17 @@ cypress-run-all() {
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!
cypress-run "*/**/*"
USE_DASHBOARD_FLAG=''
if [ "$USE_DASHBOARD" = "true" ]; then
USE_DASHBOARD_FLAG='--use-dashboard'
fi
python ../../scripts/cypress_run.py --parallelism $PARALLELISM --parallelism-id $PARALLEL_ID $USE_DASHBOARD_FLAG
# After job is done, print out Flask log for debugging
say "::group::Flask log for default run"
echo "::group::Flask log for default run"
cat "$flasklog"
say "::endgroup::"
# Rerun SQL Lab tests with backend persist disabled
export SUPERSET_CONFIG=tests.integration_tests.superset_test_config_sqllab_backend_persist_off
# Restart Flask with new configs
kill $flaskProcessId
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!
cypress-run "sqllab/*" "Backend persist"
say "::group::Flask log for backend persist"
cat "$flasklog"
say "::endgroup::"
echo "::endgroup::"
# make sure the program exits
kill $flaskProcessId
}
@@ -224,7 +191,7 @@ cypress-run-applitools() {
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!
$cypress --spec "cypress/e2e/*/**/*.applitools.test.ts" --browser "$browser" --headless --config ignoreTestFiles="[]"
$cypress --spec "cypress/applitools/**/*" --browser "$browser" --headless
say "::group::Flask log for default run"
cat "$flasklog"

View File

@@ -0,0 +1,68 @@
name: Bump Python Package
on:
# Can be triggered manually
workflow_dispatch:
inputs:
package:
required: false
description: The python package to bump (all if empty)
group:
required: false
description: The optional dependency group to bump (as defined in pyproject.toml)
limit:
required: true
description: Max number of PRs to open (0 for no limit)
default: 5
jobs:
bump-python-package:
runs-on: ubuntu-22.04
permissions:
actions: write
contents: write
pull-requests: write
checks: write
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: true
ref: master
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install pip-compile-multi
run: pip install pip-compile-multi
- name: supersetbot bump-python -p "${{ github.event.inputs.package }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --global user.email "action@github.com"
git config --global user.name "GitHub Action"
PACKAGE_OPT=""
if [ -n "${{ github.event.inputs.package }}" ]; then
PACKAGE_OPT="-p ${{ github.event.inputs.package }}"
fi
GROUP_OPT=""
if [ -n "${{ github.event.inputs.group }}" ]; then
GROUP_OPT="-g ${{ github.event.inputs.group }}"
fi
supersetbot bump-python \
--verbose \
--use-current-repo \
--include-subpackages \
--limit ${{ github.event.inputs.limit }} \
$PACKAGE_OPT \
$GROUP_OPT

View File

@@ -9,7 +9,7 @@ on:
jobs:
cancel-duplicate-runs:
name: Cancel duplicate workflow runs
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
permissions:
actions: write
contents: read

View File

@@ -5,7 +5,7 @@ on:
- "superset/migrations/**"
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
pull_request:
paths:
- "superset/migrations/**"
@@ -19,7 +19,7 @@ concurrency:
jobs:
check_db_migration_conflict:
name: Check DB migration conflict
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: write

View File

@@ -2,14 +2,10 @@ name: "CodeQL"
on:
push:
branches: ["master", "[0-9].[0-9]"]
paths:
- "superset/**"
branches: ["master", "[0-9].[0-9]*"]
pull_request:
# The branches below must be a subset of the branches above
branches: ["master"]
paths:
- "superset/**"
schedule:
- cron: "0 4 * * *"
@@ -37,6 +33,12 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
@@ -50,6 +52,7 @@ jobs:
# queries: security-extended,security-and-quality
- name: Perform CodeQL Analysis
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

View File

@@ -12,7 +12,7 @@ permissions:
jobs:
dependency-review:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
@@ -23,5 +23,13 @@ jobs:
# 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
# adding an exception for an ambigious license on store2, which has been resolved in the latest version. It's MIT: https://github.com/nbubna/store/blob/master/LICENSE-MIT
allow-dependencies-licenses: 'pkg:npm/store2@2.14.2'
# pkg:npm/store2@2.14.2
# adding an exception for an ambigious license on store2, which has been resolved in
# the latest version. It's MIT: https://github.com/nbubna/store/blob/master/LICENSE-MIT
# pkg:npm/applitools/*
# adding exception for all applitools modules (eyes-cypress and its dependencies),
# which has an explicit OSS license approved by ASF
# license: https://applitools.com/legal/open-source-terms-of-use/
# pkg:npm/node-forge@1.3.1
# selecting BSD-3-Clause licensing terms for node-forge to ensure compatibility with Apache
allow-dependencies-licenses: pkg:npm/store2@2.14.2, pkg:npm/applitools/core, pkg:npm/applitools/core-base, pkg:npm/applitools/css-tree, pkg:npm/applitools/ec-client, pkg:npm/applitools/eg-socks5-proxy-server, pkg:npm/applitools/eyes, pkg:npm/applitools/eyes-cypress, pkg:npm/applitools/nml-client, pkg:npm/applitools/tunnel-client, pkg:npm/applitools/utils, pkg:npm/node-forge@1.3.1

View File

@@ -1,10 +1,10 @@
name: Docker
name: Build & publish docker images
on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
pull_request:
branches:
- "master"
@@ -14,38 +14,77 @@ concurrency:
cancel-in-progress: true
jobs:
setup_matrix:
runs-on: ubuntu-22.04
outputs:
matrix_config: ${{ steps.set_matrix.outputs.matrix_config }}
steps:
- id: set_matrix
run: |
MATRIX_CONFIG=$(if [ "${{ github.event_name }}" == "pull_request" ]; then echo '["dev"]'; else echo '["dev", "lean", "py310", "websocket", "dockerize"]'; fi)
echo "matrix_config=${MATRIX_CONFIG}" >> $GITHUB_OUTPUT
echo $GITHUB_OUTPUT
docker-build:
name: docker-build
runs-on: ubuntu-latest
needs: setup_matrix
runs-on: ubuntu-22.04
strategy:
matrix:
build_preset: ["dev", "lean", "py310", "websocket", "dockerize"]
platform: ["linux/amd64", "linux/arm64"]
exclude:
# disabling because slow! no python wheels for arm/py39 and
# QEMU is slow!
- build_preset: "dev"
platform: "linux/arm64"
- build_preset: "lean"
platform: "linux/arm64"
build_preset: ${{fromJson(needs.setup_matrix.outputs.matrix_config)}}
fail-fast: false
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up QEMU
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
uses: docker/setup-buildx-action@v3
- name: Try to login to DockerHub
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
continue-on-error: true
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup supersetbot
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
uses: ./.github/actions/setup-supersetbot/
- name: Build Docker Image
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pip install click
./scripts/build_docker.py ${{ matrix.build_preset }} ${{ github.event_name }} --platform ${{ matrix.platform }}
# Single platform builds in pull_request context to speed things up
if [ "${{ github.event_name }}" = "push" ]; then
PLATFORM_ARG="--platform linux/arm64 --platform linux/amd64"
elif [ "${{ github.event_name }}" = "pull_request" ]; then
PLATFORM_ARG="--platform linux/amd64"
fi
supersetbot docker \
--preset ${{ matrix.build_preset }} \
--context "$EVENT" \
--context-ref "$RELEASE" $FORCE_LATEST \
$PLATFORM_ARG

View File

@@ -4,11 +4,11 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -23,7 +23,7 @@ jobs:
build:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
defaults:
run:
working-directory: superset-embedded-sdk
@@ -31,8 +31,8 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "16"
registry-url: "https://registry.npmjs.org"
node-version: "18"
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npm run ci:release
env:

View File

@@ -13,7 +13,7 @@ concurrency:
jobs:
embedded-sdk-test:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
defaults:
run:
working-directory: superset-embedded-sdk
@@ -21,7 +21,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "16"
node-version: "18"
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npm test

View File

@@ -6,7 +6,7 @@ on:
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -22,7 +22,7 @@ jobs:
needs: config
if: needs.config.outputs.has-secrets
name: Cleanup ephemeral envs
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
pull-requests: write
steps:

View File

@@ -6,7 +6,7 @@ on:
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
if: github.event.issue.pull_request
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
@@ -26,7 +26,7 @@ jobs:
needs: config
if: needs.config.outputs.has-secrets
name: Evaluate ephemeral env comment trigger (/testenv)
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
pull-requests: write
outputs:
@@ -88,7 +88,7 @@ jobs:
cancel-in-progress: true
needs: ephemeral-env-comment
name: ephemeral-docker-build
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Get Info from comment
uses: actions/github-script@v7
@@ -153,7 +153,7 @@ jobs:
needs: [ephemeral-env-comment, ephemeral-docker-build]
if: needs.ephemeral-env-comment.outputs.slash-command == 'up'
name: Spin up an ephemeral environment
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: write

View File

@@ -4,11 +4,11 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -24,7 +24,7 @@ jobs:
needs: config
if: needs.config.outputs.has-secrets
name: Generate Report
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4

View File

@@ -1,3 +1,4 @@
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
@@ -14,18 +15,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-r development.in
-r integration.in
-e file:.[bigquery,hive,presto,prophet,trino,gsheets,playwright]
docker
flask-testing
freezegun
grpcio>=1.55.3
openapi-spec-validator
parameterized
pyfakefs
pylint
pytest
pytest-cov
pytest-mock
statsd
# Inspired from https://github.com/mpalmer/action-validator?tab=readme-ov-file#pre-commit-hook-example
echo "Running pre-commit hook for GitHub Actions: https://github.com/mpalmer/action-validator"
for action in $(git ls-files .github/ | grep -E '^\.github/(workflows|actions)/.*\.ya?ml$'); do
if action-validator "$action"; then
echo "$action"
else
echo "$action"
exit 1
fi
done

View File

@@ -0,0 +1,28 @@
name: Validate All GitHub Actions
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
jobs:
validate-all-ghas:
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install Dependencies
run: npm install -g @action-validator/core @action-validator/cli --save-dev
- name: Run Script
run: bash .github/workflows/github-action-validator.sh

34
.github/workflows/issue_creation.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: supersetbot orglabel based on author
on:
issues:
types: [created, edited]
pull_request:
types: [created, edited]
jobs:
superbot-orglabel:
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: write
issues: write
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Execute supersetbot orglabel command
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Label the issue with the appropriate org using supersetbot
# - this requires for the author to be publicly associated with their org
# - and for the org to be listed in `supersetbot/src/metadata.js`
supersetbot orglabel --issue ${{ github.event.number }} --repo ${{ github.repository }} || true

View File

@@ -7,7 +7,7 @@ jobs:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/labeler@v5
with:

View File

@@ -6,7 +6,7 @@ on:
jobs:
latest-release:
name: Add/update tag to new release
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
contents: write

View File

@@ -12,7 +12,7 @@ concurrency:
jobs:
license_check:
name: License Check
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4

View File

@@ -11,7 +11,7 @@ concurrency:
jobs:
check-hold-label:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Check for 'hold' label
uses: actions/github-script@v7

View File

@@ -1,54 +0,0 @@
# no-op.yml
#
# Purpose:
# This workflow provides a workaround for the "required status checks" feature in GitHub Actions
# when using path-specific conditions in other workflows. Required checks might remain in a "Pending"
# state if the conditions are not met, thus blocking pull requests from being merged.
# This no-op (no operation) workflow provides dummy success statuses for these required jobs when
# the real jobs do not run due to path-specific conditions.
#
# How it works:
# - It defines jobs with the same names as the required jobs in the main workflows.
# - These jobs simply execute a command (`exit 0`) to succeed immediately.
# - When a pull request is created or updated, both this no-op workflow and the main workflows are triggered.
# - If the main workflows' jobs don't run (due to path conditions), these no-op jobs provide successful statuses.
# - If the main workflows' jobs do run and fail, their failure statuses take precedence,
# ensuring that pull requests are not merged with failing checks.
#
# Usage:
# - Ensure that the job names in this workflow match exactly the names of the corresponding jobs in the main workflows.
# - This workflow should be kept as-is, without path-specific conditions.
name: No Operation Checks
on: pull_request
jobs:
frontend-build:
runs-on: ubuntu-latest
steps:
- name: No-op for frontend-build
run: |
echo "This is a no-op step for frontend-build to ensure a successful status."
exit 0
pre-commit:
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-latest
steps:
- name: No-op for pre-commit
run: |
echo "This is a no-op step for pre-commit to ensure a successful status."
exit 0
python-lint:
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-latest
steps:
- name: No-op for python-lint
run: |
echo "This is a no-op step for python-lint to ensure a successful status."
exit 0

View File

@@ -10,7 +10,7 @@ on:
jobs:
lint-check:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: write

View File

@@ -4,7 +4,7 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
@@ -15,10 +15,7 @@ concurrency:
jobs:
pre-commit:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
@@ -26,24 +23,9 @@ jobs:
persist-credentials: false
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: |
requirements/base.txt
requirements/integration.txt
- name: Install dependencies
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/base.txt
pip install -r requirements/integration.txt
# Add brew to the path - see https://github.com/actions/runner-images/issues/6283
uses: ./.github/actions/setup-backend/
- name: Enable brew and helm-docs
# Add brew to the path - see https://github.com/actions/runner-images/issues/6283
run: |
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

View File

@@ -4,7 +4,7 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
paths:
- "superset-frontend/src/**"
pull_request:
@@ -21,7 +21,7 @@ jobs:
prefer_typescript:
if: github.ref == 'ref/heads/master' && github.event_name == 'pull_request'
name: Prefer TypeScript
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: write

View File

@@ -4,11 +4,11 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -25,11 +25,11 @@ jobs:
if: needs.config.outputs.has-secrets
name: Bump version and publish package(s)
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [16]
node-version: [18]
steps:
- uses: actions/checkout@v4

View File

@@ -6,7 +6,7 @@ on:
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -21,12 +21,12 @@ jobs:
cypress-applitools:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
browser: ["chrome"]
node: [16]
node: [18]
env:
SUPERSET_ENV: development
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -58,23 +58,7 @@ jobs:
submodules: recursive
ref: master
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: OS dependencies
uses: ./.github/actions/cached-dependencies
with:
run: apt-get-install
- name: Install python dependencies
uses: ./.github/actions/cached-dependencies
with:
run: |
pip-upgrade
pip install -r requirements/testing.txt
- name: Setup postgres
uses: ./.github/actions/cached-dependencies
with:
run: setup-postgres
uses: ./.github/actions/setup-backend/
- name: Import test data
uses: ./.github/actions/cached-dependencies
with:
@@ -91,6 +75,11 @@ jobs:
uses: ./.github/actions/cached-dependencies
with:
run: build-instrumented-assets
- name: Setup Postgres
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: setup-postgres
- name: Install cypress
uses: ./.github/actions/cached-dependencies
with:

View File

@@ -12,7 +12,7 @@ env:
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -27,10 +27,10 @@ jobs:
cron:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
node: [16]
node: [18]
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4

View File

@@ -4,7 +4,7 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
@@ -15,10 +15,7 @@ concurrency:
jobs:
test-load-examples:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -44,38 +41,27 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
uses: ./.github/actions/change-detector/
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
if: steps.check.outputs.python
uses: ./.github/actions/setup-backend/
- name: Setup Postgres
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
setup-postgres
run: setup-postgres
- name: superset init
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: |
pip install -e .
superset db upgrade
superset load_test_users
- name: superset load_examples
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: |
# load examples without test data
superset load_examples --load-big-data

View File

@@ -4,13 +4,15 @@ on:
push:
paths:
- "docs/**"
- "README.md"
branches:
- "master"
- "[0-9].[0-9]"
workflow_dispatch: {}
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -26,28 +28,41 @@ jobs:
needs: config
if: needs.config.outputs.has-secrets
name: Build & Deploy
runs-on: "ubuntu-latest"
defaults:
run:
working-directory: docs
runs-on: "ubuntu-22.04"
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Set up Node.js 16
- name: Set up Node.js 18
uses: actions/setup-node@v4
with:
node-version: "16"
node-version: '18'
- name: Setup Python
uses: ./.github/actions/setup-backend/
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
- name: Install Graphviz
run: sudo apt-get install -y graphviz
- name: Compute Entity Relationship diagram (ERD)
env:
SUPERSET_SECRET_KEY: not-a-secret
run: |
python scripts/erd/erd.py
curl -L http://sourceforge.net/projects/plantuml/files/1.2023.7/plantuml.1.2023.7.jar/download > ~/plantuml.jar
java -jar ~/plantuml.jar -v -tsvg -r -o "${{ github.workspace }}/docs/static/img/" "${{ github.workspace }}/scripts/erd/erd.puml"
- name: yarn install
working-directory: docs
run: |
yarn install --check-cache
- name: yarn build
working-directory: docs
run: |
yarn build
- name: deploy docs
if: github.ref == 'refs/heads/master'
uses: ./.github/actions/github-action-push-to-another-repository
env:
API_TOKEN_GITHUB: ${{ secrets.SUPERSET_SITE_BUILD }}

View File

@@ -14,7 +14,7 @@ concurrency:
jobs:
build-deploy:
name: Build & Deploy
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
defaults:
run:
working-directory: docs
@@ -24,10 +24,10 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Set up Node.js 16
- name: Set up Node.js 20
uses: actions/setup-node@v4
with:
node-version: '16'
node-version: '20'
- name: yarn install
run: |
yarn install --check-cache

View File

@@ -4,9 +4,23 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
workflow_dispatch:
inputs:
use_dashboard:
description: 'Use Cypress Dashboard (true/false) [paid service - trigger manually when needed]. You MUST provide a branch and/or PR number below for this to work.'
required: false
default: 'false'
ref:
description: 'The branch or tag to checkout'
required: false
default: ''
pr_id:
description: 'The pull request ID to checkout'
required: false
default: ''
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
@@ -14,18 +28,18 @@ concurrency:
jobs:
cypress-matrix:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
strategy:
# when one test fails, DO NOT cancel the other
# containers, because this will kill Cypress processes
# parallel_id, because this will kill Cypress processes
# leaving the Dashboard hanging ...
# https://github.com/cypress-io/github-action/issues/48
fail-fast: false
matrix:
containers: [1, 2, 3]
parallel_id: [0, 1, 2, 3, 4, 5]
browser: ["chrome"]
env:
SUPERSET_ENV: development
@@ -34,6 +48,7 @@ jobs:
PYTHONPATH: ${{ github.workspace }}
REDIS_PORT: 16379
GITHUB_TOKEN: ${{ github.token }}
USE_DASHBOARD: ${{ github.event.inputs.use_dashboard || (github.ref == 'refs/heads/master' && 'true') || 'false' }}
services:
postgres:
image: postgres:15-alpine
@@ -47,83 +62,80 @@ jobs:
ports:
- 16379:6379
steps:
- name: "Checkout (pull) ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
if: github.event_name == 'push'
# -------------------------------------------------------
# Conditional checkout based on context
- name: Checkout for push or pull_request event
if: github.event_name == 'push' || github.event_name == 'pull_request'
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: "Checkout (pull_request) ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
- name: Checkout using ref (workflow_dispatch)
if: github.event_name == 'workflow_dispatch' && github.event.inputs.ref != ''
uses: actions/checkout@v2
with:
ref: "refs/pull/${{ github.event.number }}/merge"
persist-credentials: false
ref: ${{ github.event.inputs.ref }}
submodules: recursive
- name: Check if python or frontend changes are present
- name: Checkout using PR ID (workflow_dispatch)
if: github.event_name == 'workflow_dispatch' && github.event.inputs.pr_id != ''
uses: actions/checkout@v2
with:
persist-credentials: false
ref: refs/pull/${{ github.event.inputs.pr_id }}/merge
submodules: recursive
# -------------------------------------------------------
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python frontend
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: OS dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: apt-get-install
- name: Install python dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
pip-upgrade
pip install -r requirements/testing.txt
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python || steps.check.outputs.frontend
- name: Setup postgres
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: setup-postgres
- name: Import test data
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: testdata
- name: Setup Node.js
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: actions/setup-node@v4
with:
node-version: "16"
node-version: "18"
- name: Install npm dependencies
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: npm-install
- name: Build javascript packages
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: build-instrumented-assets
- name: Install cypress
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: cypress-install
- name: Run Cypress
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
env:
CYPRESS_BROWSER: ${{ matrix.browser }}
CYPRESS_KEY: YjljODE2MzAtODcwOC00NTA3LWE4NmMtMTU3YmFmMjIzOTRhCg==
PARALLEL_ID: ${{ matrix.parallel_id }}
PARALLELISM: 6
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
with:
run: cypress-run-all
run: cypress-run-all ${{ env.USE_DASHBOARD }}
- name: Upload Artifacts
uses: actions/upload-artifact@v4
if: failure()
if: github.event_name == 'workflow_dispatch' && (steps.check.outputs.python || steps.check.outputs.frontend)
with:
name: screenshots
path: ${{ github.workspace }}/superset-frontend/cypress-base/cypress/screenshots
name: cypress-artifact-${{ github.run_id }}-${{ github.job }}

View File

@@ -4,13 +4,9 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
paths:
- "superset-frontend/**"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- "superset-frontend/**"
# cancel previous workflow jobs for PRs
concurrency:
@@ -19,7 +15,7 @@ concurrency:
jobs:
frontend-build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
@@ -28,59 +24,57 @@ jobs:
submodules: recursive
- name: Check npm lock file version
run: ./scripts/ci_check_npm_lock_version.sh ./superset-frontend/package-lock.json
- name: Check if frontend changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh frontend
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
uses: actions/setup-node@v4
with:
node-version: "16"
node-version: "18"
- name: Install dependencies
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: npm-install
- name: eslint
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run eslint -- . --quiet
- name: tsc
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run type
- name: prettier
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run prettier-check
- name: Build plugins packages
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: npm run plugins:build
- name: Build plugins Storybook
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: npm run plugins:build-storybook
- name: superset-ui/core coverage
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run core:cover
- name: unit tests
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run test -- --coverage --silent
# todo: remove this step when fix generator as a project in root jest.config.js
- name: generator-superset unit tests
if: steps.check.outcome == 'failure'
if: steps.check.outputs.frontend
working-directory: ./superset-frontend/packages/generator-superset
run: npx jest
- name: Upload code coverage

View File

@@ -13,7 +13,7 @@ concurrency:
jobs:
lint-test:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
@@ -23,13 +23,14 @@ jobs:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v3
uses: azure/setup-helm@v4
with:
version: v3.5.4
- uses: actions/setup-python@v5
- name: Setup Python
uses: ./.github/actions/setup-backend/
with:
python-version: "3.9"
install-superset: 'false'
- name: Set up chart-testing
uses: ./.github/actions/chart-testing-action

View File

@@ -4,13 +4,13 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
paths:
- "helm/**"
jobs:
release:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
contents: write
@@ -28,7 +28,7 @@ jobs:
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Install Helm
uses: azure/setup-helm@v3
uses: azure/setup-helm@v4
with:
version: v3.5.4
@@ -36,7 +36,7 @@ jobs:
run: helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Run chart-releaser
uses: ./.github/actions/chart-releaser-action
uses: helm/chart-releaser-action@v1.6.0
with:
charts_dir: helm
mark_as_latest: false

View File

@@ -5,7 +5,7 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
@@ -15,10 +15,7 @@ concurrency:
jobs:
test-mysql:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -27,11 +24,16 @@ jobs:
mysql+mysqldb://superset:superset@127.0.0.1:13306/superset?charset=utf8mb4&binary_prefix=true
services:
mysql:
image: mysql:5.7
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 13306:3306
options: >-
--health-cmd="mysqladmin ping --silent"
--health-interval=10s
--health-timeout=5s
--health-retries=5
redis:
image: redis:7-alpine
options: --entrypoint redis-server
@@ -43,35 +45,26 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
uses: ./.github/actions/change-detector/
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
- name: Setup MySQL
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
setup-mysql
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
run: setup-mysql
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Python integration tests (MySQL)
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: |
./scripts/python_tests.sh
- name: Upload code coverage
@@ -81,10 +74,10 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
test-postgres:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ["3.9", "3.10"]
python-version: ["current", "next", "previous"]
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -110,35 +103,29 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
- name: Setup Postgres
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
setup-postgres
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Python integration tests (PostgreSQL)
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: |
./scripts/python_tests.sh
- name: Upload code coverage
@@ -149,10 +136,7 @@ jobs:
verbose: true
test-sqlite:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -172,35 +156,28 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
uses: ./.github/actions/change-detector/
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
- name: Install dependencies
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
# sqlite needs this working directory
mkdir ${{ github.workspace }}/.temp
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Python integration tests (SQLite)
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: |
./scripts/python_tests.sh
- name: Upload code coverage

View File

@@ -5,13 +5,9 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
paths:
- "superset/**"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- "superset/**"
# cancel previous workflow jobs for PRs
concurrency:
@@ -20,68 +16,38 @@ concurrency:
jobs:
python-lint:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
- name: pylint
if: steps.check.outcome == 'failure'
# `-j 0` run Pylint in parallel
run: pylint -j 0 superset
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
babel-extract:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/base.txt"
- name: Install dependencies
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/base.txt
if: steps.check.outputs.python
uses: ./.github/actions/setup-backend/
- name: Test babel extraction
run: flask fab babel-extract --target superset/translations --output superset/translations/messages.pot --config superset/translations/babel.cfg -k _,__,t,tn,tct
if: steps.check.outputs.python
run: scripts/translations/babel_update.sh

View File

@@ -5,13 +5,9 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
paths:
- "superset/**"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- "superset/**"
# cancel previous workflow jobs for PRs
concurrency:
@@ -20,10 +16,7 @@ concurrency:
jobs:
test-postgres-presto:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -59,35 +52,28 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
uses: ./.github/actions/change-detector/
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python == 'true'
- name: Setup Postgres
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
echo "${{ steps.check.outputs.python }}"
setup-postgres
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Python unit tests (PostgreSQL)
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: |
./scripts/python_tests.sh -m 'chart_data_flow or sql_json_flow'
- name: Upload code coverage
@@ -98,10 +84,7 @@ jobs:
verbose: true
test-postgres-hive:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -129,44 +112,35 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Create csv upload directory
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: sudo mkdir -p /tmp/.superset/uploads
- name: Give write access to the csv upload directory
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: sudo chown -R $USER:$USER /tmp/.superset
- name: Start hadoop and hive
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: docker compose -f scripts/databases/hive/docker-compose.yml up -d
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
- name: Setup Postgres
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
setup-postgres
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
run: setup-postgres
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Python unit tests (PostgreSQL)
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
run: |
./scripts/python_tests.sh -m 'chart_data_flow or sql_json_flow'
- name: Upload code coverage

View File

@@ -5,13 +5,9 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
paths:
- "superset/**"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- "superset/**"
# cancel previous workflow jobs for PRs
concurrency:
@@ -20,10 +16,10 @@ concurrency:
jobs:
unit-tests:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ["3.9", "3.10"]
python-version: ["current", "next"]
env:
PYTHONPATH: ${{ github.workspace }}
steps:
@@ -32,35 +28,21 @@ jobs:
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
- name: Check for file changes
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v5
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
# TODO: separated requirements.txt file just for unit tests
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install wheel
pip install -r requirements/testing.txt
mkdir ${{ github.workspace }}/.temp
- name: Python unit tests
if: steps.check.outcome == 'failure'
if: steps.check.outputs.python
env:
SUPERSET_TESTENV: true
SUPERSET_SECRET_KEY: not-a-secret
run: |
pytest --durations-min=0.5 --cov-report= --cov=superset ./tests/common ./tests/unit_tests --cache-clear
- name: Upload code coverage

View File

@@ -4,7 +4,7 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
@@ -14,48 +14,54 @@ concurrency:
cancel-in-progress: true
jobs:
frontend-check:
runs-on: ubuntu-20.04
frontend-check-translations:
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
if: steps.check.outputs.frontend
uses: actions/setup-node@v4
with:
node-version: "16"
node-version: '18'
- name: Install dependencies
if: steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: npm-install
- name: lint
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run check-translation
npm run build-translation
babel-extract:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9"]
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install -r requirements/base.txt
if: steps.check.outputs.python
uses: ./.github/actions/setup-backend/
- name: Test babel extraction
run: ./scripts/babel_update.sh
if: steps.check.outputs.python
run: ./scripts/translations/babel_update.sh

View File

@@ -3,7 +3,7 @@ on:
push:
branches:
- "master"
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
paths:
- "superset-websocket/**"
pull_request:
@@ -18,7 +18,7 @@ concurrency:
jobs:
app-checks:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4

56
.github/workflows/supersetbot.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: SupersetBot Workflow
on:
issue_comment:
types: [created, edited]
# Making the workflow testable since `issue_comment` only triggers on
# the default branch
workflow_dispatch:
inputs:
comment_body:
description: 'Comment Body'
required: true
type: string
jobs:
supersetbot:
runs-on: ubuntu-22.04
if: >
github.event_name == 'workflow_dispatch' ||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@supersetbot'))
permissions:
contents: read
pull-requests: write
issues: write
steps:
- name: Quickly add thumbs up!
if: github.event_name == 'issue_comment' && contains(github.event.comment.body, '@supersetbot')
uses: actions/github-script@v7
with:
script: |
const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/')
await github.rest.reactions.createForIssueComment({
owner,
repo,
comment_id: context.payload.comment.id,
content: '+1'
});
- name: "Checkout ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Execute custom Node.js script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: ${{ github.event.comment.body }}${{ github.event.inputs.comment_body }}
run: |
supersetbot run "$COMMENT_BODY"

View File

@@ -1,4 +1,4 @@
name: Docker Publish Release
name: Publish a Release
on:
release:
@@ -19,11 +19,11 @@ on:
default: 'false'
description: Whether to force a latest tag on the release
options:
- true
- false
- 'true'
- 'false'
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -39,30 +39,40 @@ jobs:
needs: config
if: needs.config.outputs.has-secrets
name: docker-release
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
build_preset: ["dev", "lean", "py310", "websocket", "dockerize"]
fail-fast: false
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
ref: ${{ github.ref }}
fetch-depth: 0
- 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
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
tags: true
fetch-depth: 0
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Try to login to DockerHub
continue-on-error: true
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Execute custom Node.js script
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RELEASE="${{ github.event.release.tag_name }}"
FORCE_LATEST=""
@@ -73,17 +83,30 @@ jobs:
if [ "${{ github.event.inputs.force-latest }}" = "true" ]; then
FORCE_LATEST="--force-latest"
fi
# build_docker.py may not exist on that SHA, let's switcharoo to /tmp
cp ./scripts/build_docker.py /tmp
git checkout "${{ github.event.inputs.git-ref }}"
cp /tmp/build_docker.py scripts/
EVENT="release"
fi
pip install click
# Make a multi-platform image
./scripts/build_docker.py \
${{ matrix.build_preset }} \
"$EVENT" \
--build_context_ref "$RELEASE" $FORCE_LATEST \
supersetbot docker \
--preset ${{ matrix.build_preset }} \
--context "$EVENT" \
--context-ref "$RELEASE" $FORCE_LATEST \
--platform "linux/arm64" \
--platform "linux/amd64"
# Going back on original branch to allow "post" GHA operations
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Label the PRs with the right release-related labels
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RELEASE="${{ github.event.release.tag_name }}"
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
# in the case of a manually-triggered run, read release from input
RELEASE="${{ github.event.inputs.release }}"
fi
supersetbot release-label $RELEASE

View File

@@ -4,11 +4,11 @@ on:
push:
branches:
- master
- "[0-9].[0-9]"
- "[0-9].[0-9]*"
jobs:
config:
runs-on: "ubuntu-latest"
runs-on: "ubuntu-22.04"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -23,7 +23,7 @@ jobs:
process-and-upload:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
name: Generate Reports
steps:
- name: Checkout Repository
@@ -32,7 +32,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "16"
node-version: '18'
- name: Install Dependencies
run: npm install

View File

@@ -1,47 +0,0 @@
name: Update Lockfiles for Dependabot Monorepo PRs
on:
pull_request:
paths:
- 'superset-frontend/packages/**/package.json'
- 'superset-frontend/plugins/**/package.json'
types: [opened, synchronize, reopened]
issue_comment:
types: [created]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.issue.number || github.run_id }}
cancel-in-progress: true
jobs:
update-lock-file:
runs-on: ubuntu-latest
if: >
(github.event_name == 'pull_request' && github.event.pull_request.user.login == 'dependabot[bot]') ||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@supersetbot trigger-dependabot-lockfile') && github.event.issue.pull_request)
defaults:
run:
working-directory: superset-frontend
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref || github.head_ref }} # Checkout the branch that made the PR or the comment's PR branch
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Install Dependencies and Update Lock File
run: |
npm install
- name: Commit and Push Changes
run: |
git config user.name "GitHub-Actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add package-lock.json
# Push the changes back to the branch if they exist, and pass if there are no changes
git diff --staged --quiet || (git commit -m "Update lock file for Dependabot PR" -a && git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} ${{ github.event.pull_request.head.ref || github.head_ref }})

View File

@@ -6,7 +6,7 @@ on:
jobs:
welcome:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
permissions:
pull-requests: write

13
.gitignore vendored
View File

@@ -106,9 +106,18 @@ testCSV.csv
apache-superset-*.tar.gz*
release.json
# Translation binaries
messages.mo
# Translation-related files
# these json files are generated by ./scripts/po2json.sh
superset/translations/**/messages.json
# these mo binary files are generated by `pybabel compile`
superset/translations/**/messages.mo
docker/requirements-local.txt
cache/
docker/*local*
.temp_cache
# Jest test report
test-report.html

View File

@@ -19,24 +19,6 @@ repos:
rev: v0.2.2
hooks:
- id: auto-walrus
- repo: https://github.com/asottile/pyupgrade
rev: v3.4.0
hooks:
- id: pyupgrade
args:
- --py39-plus
- repo: https://github.com/hadialqattan/pycln
rev: v2.1.2
hooks:
- id: pycln
args:
- --disable-all-dunder-policy
- --exclude=superset/config.py
- --extend-exclude=tests/integration_tests/superset_test_config.*.py
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.3.0
hooks:
@@ -65,18 +47,13 @@ repos:
hooks:
- id: check-docstring-first
- id: check-added-large-files
exclude: \.(geojson)$
exclude: ^.*\.(geojson)$|^docs/static/img/screenshots/.*
- id: check-yaml
exclude: ^helm/superset/templates/
- id: debug-statements
- id: end-of-file-fixer
- id: trailing-whitespace
args: ["--markdown-linebreak-ext=md"]
- repo: https://github.com/psf/black
rev: 23.1.0
hooks:
- id: black
language_version: python3
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.1.0 # Use the sha or tag you want to point at
hooks:
@@ -94,3 +71,23 @@ repos:
hooks:
- id: helm-docs
files: helm
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.4.0
hooks:
- id: ruff
args: [ --fix ]
- id: ruff-format
- repo: local
hooks:
- id: pylint
name: pylint
entry: pylint
language: system
types: [python]
exclude: ^(tests/|superset/migrations/|scripts/|RELEASING/|docker/)
args:
[
"-rn", # Only display messages
"-sn", # Don't display the score
"--rcfile=.pylintrc",
]

View File

@@ -36,7 +36,7 @@ persistent=yes
# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
load-plugins=
load-plugins=superset.extensions.pylint
# Use multiple processes to speed up Pylint.
jobs=2
@@ -77,6 +77,7 @@ disable=
cyclic-import, # re-enable once this no longer raises false positives
missing-docstring,
duplicate-code,
line-too-long,
unspecified-encoding,
too-many-instance-attributes # re-enable once this no longer raises false positives
@@ -171,7 +172,7 @@ max-nested-blocks=5
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=90
max-line-length=100
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$

View File

@@ -64,5 +64,11 @@ temporary_superset_ui/*
# docs overrides for third party logos we don't have the rights to
google-big-query.svg
google-sheets.svg
ibm-db2.svg
postgresql.svg
snowflake.svg
# docs-related
erd.puml
erd.svg
intro_header.txt

63
ASF/doap_Superset.rdf Normal file
View File

@@ -0,0 +1,63 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
xmlns="http://usefulinc.com/ns/doap#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:asfext="http://projects.apache.org/ns/asfext#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
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
https://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.
-->
<Project rdf:about="https://superset.apache.org">
<created>2024-04-10</created>
<license rdf:resource="https://spdx.org/licenses/Apache-2.0" />
<name>Apache Superset</name>
<homepage rdf:resource="https://superset.apache.org" />
<asfext:pmc rdf:resource="https://superset.apache.org" />
<shortdesc>Apache Superset™ is an open-source modern data exploration and visualization platform.</shortdesc>
<description>Superset is a fast, lightweight, intuitive, business intelligence platform. Loaded with options, Superset makes it easy for users of all skill sets to explore and visualize their data, from simple line charts to highly detailed geospatial charts.
* Powerful yet easy to use:
Superset makes it easy to explore your data, using either our simple no-code viz builder or state-of-the-art SQL IDE.
* Integrates with modern databases
Superset can connect to any SQL-based databases including modern cloud-native databases and engines at petabyte scale.
* Modern architecture
Superset is lightweight and highly scalable, leveraging the power of your existing data infrastructure without requiring yet another ingestion layer.
* Rich visualizations and dashboards
Superset ships with 40+ pre-installed visualization types. Our plug-in architecture makes it easy to build custom visualizations.
</description>
<bug-database rdf:resource="https://github.com/apache/superset/issues" />
<mailing-list rdf:resource="https://lists.apache.org/list.html?dev@superset.apache.org" />
<download-page rdf:resource="https://dist.apache.org/repos/dist/release/superset/" />
<programming-language>JavaScript</programming-language>
<programming-language>Python</programming-language>
<programming-language>Typescript</programming-language>
<category rdf:resource="https://projects.apache.org/category/big-data" />
<category rdf:resource="https://projects.apache.org/category/database" />
<category rdf:resource="https://projects.apache.org/category/data-engineering" />
<category rdf:resource="https://projects.apache.org/category/geospatial" />
<repository>
<GitRepository>
<location rdf:resource="https://github.com/apache/superset.git"/>
<browse rdf:resource="https://github.com/apache/superset/"/>
</GitRepository>
</repository>
</Project>
</rdf:RDF>

View File

@@ -37,6 +37,8 @@ under the License.
- [3.0.3](./CHANGELOG/3.0.3.md)
- [3.0.4](./CHANGELOG/3.0.4.md)
- [3.1.0](./CHANGELOG/3.1.0.md)
- [3.1.1](./CHANGELOG/3.1.1.md)
- [3.1.2](./CHANGELOG/3.1.2.md)
- [3.1.3](./CHANGELOG/3.1.3.md)
- [4.0.0](./CHANGELOG/4.0.0.md)
- [4.0.1](./CHANGELOG/4.0.1.md)
- [4.0.2](./CHANGELOG/4.0.2.md)

75
CHANGELOG/3.1.1.md Normal file
View File

@@ -0,0 +1,75 @@
<!--
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.
-->
## Change Log
### 3.1.1 (Fri Feb 9 21:49:33 2024 +0100)
**Fixes**
- [#27066](https://github.com/apache/superset/pull/27066) fix: Drill by with GLOBAL_ASYNC_QUERIES (@kgabryje)
- [#27039](https://github.com/apache/superset/pull/27039) fix: bump FAB to 4.3.11 (@dpgaspar)
- [#26993](https://github.com/apache/superset/pull/26993) fix: chart import validation (@dpgaspar)
- [#27096](https://github.com/apache/superset/pull/27096) fix(big_number): white-space: nowrap to prevent wrapping (@mistercrunch)
- [#27073](https://github.com/apache/superset/pull/27073) fix(drill): no rows returned (@betodealmeida)
- [#27069](https://github.com/apache/superset/pull/27069) fix: Filters sidebar stretching dashboard height (@kgabryje)
- [#27068](https://github.com/apache/superset/pull/27068) fix: Exclude header controls from dashboard PDF export (@kgabryje)
- [#27041](https://github.com/apache/superset/pull/27041) fix(plugins): missing currency on small number format in table chart (@justinpark)
- [#27023](https://github.com/apache/superset/pull/27023) fix(explore): allow free-form d3 format on custom column formatting (@justinpark)
- [#27019](https://github.com/apache/superset/pull/27019) fix: safer error message in alerts (@betodealmeida)
- [#27015](https://github.com/apache/superset/pull/27015) fix(security manager): Users should not have access to all draft dashboards (@Vitor-Avila)
- [#26965](https://github.com/apache/superset/pull/26965) fix(tags): Improve support for tags with colons (@Vitor-Avila)
- [#26946](https://github.com/apache/superset/pull/26946) fix: column values with NaN (@betodealmeida)
- [#26964](https://github.com/apache/superset/pull/26964) fix(plugin-chart-table): Prevent misalignment of totals and headers when scrollbar is visible (@kgabryje)
- [#26332](https://github.com/apache/superset/pull/26332) fix(embedded+async queries): support async queries to work with embedded guest user (@zephyring)
- [#22849](https://github.com/apache/superset/pull/22849) fix(cache): remove unused webserver config & handle trailing slashes (@Usiel)
- [#26889](https://github.com/apache/superset/pull/26889) fix: Allow exporting saved queries without schema information (@sbernauer)
- [#26887](https://github.com/apache/superset/pull/26887) fix: dashboard import validation (@dpgaspar)
- [#26911](https://github.com/apache/superset/pull/26911) fix: handle CRLF endings causing sqlglot failure (@mapledan)
- [#26906](https://github.com/apache/superset/pull/26906) fix(pinot): typo in the name for epoch_ms_to_dttm (@ege-st)
- [#26817](https://github.com/apache/superset/pull/26817) fix: Bar charts horizontal margin adjustment error (@michael-s-molina)
- [#26749](https://github.com/apache/superset/pull/26749) fix: prevent guest user from modifying metrics (@betodealmeida)
- [#25923](https://github.com/apache/superset/pull/25923) fix(deck.gl Multiple Layer Chart): Add Contour and Heatmap Layer as options (@Mattc1221)
- [#26476](https://github.com/apache/superset/pull/26476) fix(sqlparse): improve table parsing (@betodealmeida)
- [#26922](https://github.com/apache/superset/pull/26922) fix(sqllab): autosync fail on migrated queryEditor (@justinpark)
- [#26814](https://github.com/apache/superset/pull/26814) fix(time-series table): Can't compare from the beginning of the time range (@michael-s-molina)
- [#26701](https://github.com/apache/superset/pull/26701) fix(tags): Filter system tags from the tags list (@Vitor-Avila)
- [#26807](https://github.com/apache/superset/pull/26807) fix: Row limit hardcoded (@michael-s-molina)
- [#26674](https://github.com/apache/superset/pull/26674) fix: helm chart comment on SECRET_KEY (@dpgaspar)
- [#26652](https://github.com/apache/superset/pull/26652) fix(import): only import FORMULA annotations (@mistercrunch)
- [#26314](https://github.com/apache/superset/pull/26314) fix(logging): Filter out undefined columns (@john-bodley)
- [#26461](https://github.com/apache/superset/pull/26461) fix(BigQuery): Support special characters in column/metric names used in ORDER BY (@Vitor-Avila)
- [#26744](https://github.com/apache/superset/pull/26744) fix(db2): Improving support for ibm db2 connections (@Vitor-Avila)
- [#26705](https://github.com/apache/superset/pull/26705) fix(legacy-charts): Show Time Grain control for legacy charts (@Vitor-Avila)
- [#26709](https://github.com/apache/superset/pull/26709) fix: do not use lodash/memoize (@rusackas)
- [#25550](https://github.com/apache/superset/pull/25550) fix: Catch ImportErrors for Google SDKs (@skion)
- [#26645](https://github.com/apache/superset/pull/26645) fix(translation): correct translation errors for Chinese(zh) (@Waterkin)
- [#26638](https://github.com/apache/superset/pull/26638) fix: Avoid 500 if end users write bad SQL (@Khrol)
- [#26644](https://github.com/apache/superset/pull/26644) fix: unnecessary logic on CI ephemeral (@dpgaspar)
- [#26625](https://github.com/apache/superset/pull/26625) fix: create virtual dataset validation (@dpgaspar)
- [#26634](https://github.com/apache/superset/pull/26634) fix: RLS modal styling (@geido)
- [#26469](https://github.com/apache/superset/pull/26469) fix(database): allow filtering by UUID (@betodealmeida)
- [#26412](https://github.com/apache/superset/pull/26412) fix(embedded): Hide dashboard fullscreen option for embedded context (@Vitor-Avila)
- [#26355](https://github.com/apache/superset/pull/26355) fix: Trino - handle table not found in SQLLab (@Khrol)
**Others**
- [#26716](https://github.com/apache/superset/pull/26716) build(deps): bump csstype from 2.6.9 to 3.1.3 in /superset-frontend (@dependabot[bot])
- [#26707](https://github.com/apache/superset/pull/26707) chore(helm): Upgrade default Superset version to 3.1.0 (@dnskr)
- [#26431](https://github.com/apache/superset/pull/26431) chore: bump prophet to 1.1.5 (@villebro)

93
CHANGELOG/3.1.2.md Normal file
View File

@@ -0,0 +1,93 @@
<!--
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.
-->
## Change Log
### 3.1.2 (Thu Mar 28 11:32:00 2024 -0300)
**Fixes**
- [#27706](https://github.com/apache/superset/pull/27706) fix: Select onChange is fired when the same item is selected in single mode (@michael-s-molina)
- [#27744](https://github.com/apache/superset/pull/27744) fix: reduce alert error to warning (@eschutho)
- [#27644](https://github.com/apache/superset/pull/27644) fix: Provide more inclusive error handling for saved queries (@john-bodley)
- [#27646](https://github.com/apache/superset/pull/27646) fix: Leverage actual database for rendering Jinjarized SQL (@john-bodley)
- [#27636](https://github.com/apache/superset/pull/27636) fix(sqllab): unable to remove table (@justinpark)
- [#27022](https://github.com/apache/superset/pull/27022) fix(Chart Annotation modal): Table and Superset annotation options will paginate, exceeding previous max limit 100 (@rtexelm)
- [#27552](https://github.com/apache/superset/pull/27552) fix(AlertReports): defaulting grace period to undefined (@fisjac)
- [#27551](https://github.com/apache/superset/pull/27551) fix(AlertReports): clearing custom_width when disabled (@fisjac)
- [#27601](https://github.com/apache/superset/pull/27601) fix: Persist query params appended to permalink (@kgabryje)
- [#27470](https://github.com/apache/superset/pull/27470) fix(sql_parse): Ensure table extraction handles Jinja templating (@john-bodley)
- [#19595](https://github.com/apache/superset/pull/19595) fix: Volatile datasource ordering in dashboard export (@pnadolny13)
- [#27613](https://github.com/apache/superset/pull/27613) fix(Dashboard): Add editMode conditional for translate3d fix on charts to allow intended Fullscreen (@rtexelm)
- [#27388](https://github.com/apache/superset/pull/27388) fix(utils): fix off-by-one error in how rolling window's min_periods truncates dataframe (@sfirke)
- [#27577](https://github.com/apache/superset/pull/27577) fix: sqlglot SQL Server (@betodealmeida)
- [#27576](https://github.com/apache/superset/pull/27576) fix: bump sqlglot to support materialized CTEs (@betodealmeida)
- [#27567](https://github.com/apache/superset/pull/27567) fix(db_engine_specs): Update convert_dttm to work correctly with CrateDB (@hlcianfagna)
- [#27605](https://github.com/apache/superset/pull/27605) fix: Skips Hive tests that are blocking PRs (@michael-s-molina)
- [#27566](https://github.com/apache/superset/pull/27566) fix: guest queries (@betodealmeida)
- [#27464](https://github.com/apache/superset/pull/27464) fix: pass valid SQL to SM (@betodealmeida)
- [#26748](https://github.com/apache/superset/pull/26748) fix: `improve _extract_tables_from_sql` (@betodealmeida)
- [#27260](https://github.com/apache/superset/pull/27260) fix(alerts/reports): implementing custom_width as an Antd number input (@fisjac)
- [#27487](https://github.com/apache/superset/pull/27487) fix(postprocessing): resample with holes (@villebro)
- [#27484](https://github.com/apache/superset/pull/27484) fix: check if guest user modified query (@betodealmeida)
- [#27471](https://github.com/apache/superset/pull/27471) fix(webpack): remove double-dotted file extensions in webpack config (@rusackas)
- [#27411](https://github.com/apache/superset/pull/27411) fix(dashboard): Only fetch CSS templates for dashboard header menu when in edit mode (@mskelton)
- [#27262](https://github.com/apache/superset/pull/27262) fix(Alerts & Reports): Fixing bug that resets cron value to default when empty (@fisjac)
- [#27315](https://github.com/apache/superset/pull/27315) fix(deps): resolving canvg and html2canvas module not found (@fisjac)
- [#27403](https://github.com/apache/superset/pull/27403) fix: missing shared color in mixed timeseries (@justinpark)
- [#27391](https://github.com/apache/superset/pull/27391) fix(sqllab): Close already removed tab (@justinpark)
- [#27364](https://github.com/apache/superset/pull/27364) fix(API): Updating assets via the API should preserve ownership configuration (@Vitor-Avila)
- [#27395](https://github.com/apache/superset/pull/27395) fix: improve explore REST api validations (@dpgaspar)
- [#26205](https://github.com/apache/superset/pull/26205) fix(docker): Remove race condition when building image (@alekseyolg)
- [#27366](https://github.com/apache/superset/pull/27366) fix: Results section in Explore shows an infinite spinner (@michael-s-molina)
- [#27187](https://github.com/apache/superset/pull/27187) fix: numexpr to fix CVE-2023-39631 (2.8.4 => 2.9.0) (@nigzak)
- [#27360](https://github.com/apache/superset/pull/27360) fix: Heatmap numeric sorting (@michael-s-molina)
- [#27308](https://github.com/apache/superset/pull/27308) fix(dashboard): table chart drag preview overflowing container (@rtexelm)
- [#27295](https://github.com/apache/superset/pull/27295) fix(sqllab): invalid dump sql shown after closing tab (@justinpark)
- [#27285](https://github.com/apache/superset/pull/27285) fix(plugin-chart-echarts): calculate Gauge Chart intervals correctly when min value is set (@goto-loop)
- [#27307](https://github.com/apache/superset/pull/27307) fix: Incorrect data type on import page (@michael-s-molina)
- [#27291](https://github.com/apache/superset/pull/27291) fix: Data zoom with horizontal orientation (@michael-s-molina)
- [#27273](https://github.com/apache/superset/pull/27273) fix: Navigating to an invalid page index in lists (@michael-s-molina)
- [#27271](https://github.com/apache/superset/pull/27271) fix: Inoperable dashboard filter slider when range is <= 1 (@michael-s-molina)
- [#27154](https://github.com/apache/superset/pull/27154) fix(import-datasources): Use "admin" user as default for importing datasources (@ddxv)
- [#27258](https://github.com/apache/superset/pull/27258) fix: Sorting charts/dashboards makes the applied filters ineffective (@michael-s-molina)
- [#27213](https://github.com/apache/superset/pull/27213) fix(trino): bumping trino to fix hudi schema fetching (@rusackas)
- [#27236](https://github.com/apache/superset/pull/27236) fix(reports): fixing unit test (@fisjac)
- [#27217](https://github.com/apache/superset/pull/27217) fix(sqlglot): Address regressions introduced in #26476 (@john-bodley)
- [#27233](https://github.com/apache/superset/pull/27233) fix: bump FAB to 4.4.1 (perf issue) (@dpgaspar)
- [#27167](https://github.com/apache/superset/pull/27167) fix: setting important lower bounds versions on requirements (@dpgaspar)
- [#27215](https://github.com/apache/superset/pull/27215) fix: no limit in SELECT \* for TOP dbs (@betodealmeida)
- [#27191](https://github.com/apache/superset/pull/27191) fix: Failed to execute importScripts on worker-css (@michael-s-molina)
- [#27181](https://github.com/apache/superset/pull/27181) fix(sqllab): typeahead search is broken in db selector (@justinpark)
- [#27161](https://github.com/apache/superset/pull/27161) fix(ci): mypy pre-commit issues (@dpgaspar)
- [#27135](https://github.com/apache/superset/pull/27135) fix: Duplicated toast messages (@michael-s-molina)
- [#27132](https://github.com/apache/superset/pull/27132) fix: Plain error message when visiting a dashboard via permalink without permissions (@michael-s-molina)
- [#22840](https://github.com/apache/superset/pull/22840) fix(pivot-table-v2): Added forgotten translation pivot table v2 (@Always-prog)
- [#27128](https://github.com/apache/superset/pull/27128) fix: RLS modal overflow (@michael-s-molina)
- [#27112](https://github.com/apache/superset/pull/27112) fix: gevent upgrade to 23.9.1 (@dpgaspar)
- [#27124](https://github.com/apache/superset/pull/27124) fix: bump grpcio, urllib3 and paramiko (@dpgaspar)
- [#27113](https://github.com/apache/superset/pull/27113) fix: upgrade cryptography to major 42 (@dpgaspar)
- [#27106](https://github.com/apache/superset/pull/27106) fix: Timeseries Y-axis format with contribution mode (@michael-s-molina)
**Others**
- [#27281](https://github.com/apache/superset/pull/27281) chore: bump cryptography minimum to 42.0.4 (@sadpandajoe)
- [#27232](https://github.com/apache/superset/pull/27232) chore: Removes Chromatic workflow and dependencies (@michael-s-molina)
- [#27159](https://github.com/apache/superset/pull/27159) chore: bump FAB to 4.4.0 (@dpgaspar)
- [#27129](https://github.com/apache/superset/pull/27129) chore: lower cryptography min version to 41.0.2 (@sadpandajoe)

47
CHANGELOG/3.1.3.md Normal file
View File

@@ -0,0 +1,47 @@
<!--
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.
-->
## Change Log
### 3.1.3 (Tue Apr 30 15:32:33 2024 -0700)
**Fixes**
- [#28277](https://github.com/apache/superset/pull/28277) fix(ci): adding codecov token (@rusackas)
- [#28156](https://github.com/apache/superset/pull/28156) fix(sqllab): invalid css scope for ace editor autocomplete (@justinpark)
- [#28222](https://github.com/apache/superset/pull/28222) fix: Dremio alias (@betodealmeida)
- [#28152](https://github.com/apache/superset/pull/28152) fix(sql_parse): Provide more lenient logic when extracting latest[_sub]\_partition (@john-bodley)
- [#28117](https://github.com/apache/superset/pull/28117) fix(sql_parse): Support Jinja format() filter when extracting latest[_sub]\_partition (@john-bodley)
- [#28036](https://github.com/apache/superset/pull/28036) fix: Dynamic filter does not show all values on blur/clear events (@michael-s-molina)
- [#28018](https://github.com/apache/superset/pull/28018) fix: bump client side chart timeouts to use the SUPERSET_WEBSERVER_TIMEOUT (@eschutho)
- [#28017](https://github.com/apache/superset/pull/28017) fix: Select is accepting unknown pasted values when `allowNewOptions` is false (@michael-s-molina)
- [#27996](https://github.com/apache/superset/pull/27996) fix: Incorrect onChange value when an unloaded value is pasted into AsyncSelect (@michael-s-molina)
- [#25407](https://github.com/apache/superset/pull/25407) fix(frontend): allow "constructor" property in response data (@SpencerTorres)
- [#27919](https://github.com/apache/superset/pull/27919) fix: add mariadb engine spec same as MySQL (@dpgaspar)
- [#27593](https://github.com/apache/superset/pull/27593) fix(Dashboard): Add border to row when hovering HoverMenu in edit mode (@rtexelm)
- [#27883](https://github.com/apache/superset/pull/27883) fix(bar-chart): change legend padding for horizontal orientation (@lilykuang)
- [#27845](https://github.com/apache/superset/pull/27845) fix(dashboard): missing null check in error extra (@justinpark)
**Others**
- [#28278](https://github.com/apache/superset/pull/28278) chore: allow codecov to detect SHA (@mistercrunch)
- [#27725](https://github.com/apache/superset/pull/27725) chore(sqllab): Do not strip comments when executing SQL statements (@john-bodley)
- [#27843](https://github.com/apache/superset/pull/27843) chore: Default to engine specification regarding using wildcard (@john-bodley)
- [#27858](https://github.com/apache/superset/pull/27858) chore(sql_parse): Provide more meaningful SQLGlot errors (@john-bodley)
- [#27842](https://github.com/apache/superset/pull/27842) chore(sql_parse): Strip leading/trailing whitespace in Jinja macro extraction (@john-bodley)

View File

@@ -32,7 +32,6 @@ under the License.
- [#26369](https://github.com/apache/superset/pull/26369) refactor: Removes the filters set feature (@michael-s-molina)
- [#26416](https://github.com/apache/superset/pull/26416) fix: improve performance on reports log queries (@dpgaspar)
- [#26290](https://github.com/apache/superset/pull/26290) feat(echarts-funnel): Implement % calculation type (@kgabryje)
- [#26288](https://github.com/apache/superset/pull/26288) chore: Ensure Mixins are ordered according to the MRO (@john-bodley)
**Features**
@@ -93,7 +92,7 @@ under the License.
- [#27487](https://github.com/apache/superset/pull/27487) fix(postprocessing): resample with holes (@villebro)
- [#27484](https://github.com/apache/superset/pull/27484) fix: check if guest user modified query (@betodealmeida)
- [#27471](https://github.com/apache/superset/pull/27471) fix(webpack): remove double-dotted file extensions in webpack config (@rusackas)
- [#27186](https://github.com/apache/superset/pull/27186) fix: SSH Tunnel configuration settings (@geido)
- [#27186](https://github.com/apache/superset/pull/27186) fix: SSH Tunnel configuration settings (@geido)
- [#27411](https://github.com/apache/superset/pull/27411) fix(dashboard): Only fetch CSS templates for dashboard header menu when in edit mode (@mskelton)
- [#27315](https://github.com/apache/superset/pull/27315) fix(deps): resolving canvg and html2canvas module not found (@fisjac)
- [#27403](https://github.com/apache/superset/pull/27403) fix: missing shared color in mixed timeseries (@justinpark)
@@ -102,7 +101,7 @@ under the License.
- [#27391](https://github.com/apache/superset/pull/27391) fix(sqllab): Close already removed tab (@justinpark)
- [#27364](https://github.com/apache/superset/pull/27364) fix(API): Updating assets via the API should preserve ownership configuration (@Vitor-Avila)
- [#27395](https://github.com/apache/superset/pull/27395) fix: improve explore REST api validations (@dpgaspar)
- [#27262](https://github.com/apache/superset/pull/27262) fix(Alerts & Reports): Fixing bug that resets cron value to default when empty (@fisjac)
- [#27262](https://github.com/apache/superset/pull/27262) fix(Alerts & Reports): Fixing bug that resets cron value to default when empty (@fisjac)
- [#27366](https://github.com/apache/superset/pull/27366) fix: Results section in Explore shows an infinite spinner (@michael-s-molina)
- [#27187](https://github.com/apache/superset/pull/27187) fix: numexpr to fix CVE-2023-39631 (2.8.4 => 2.9.0) (@nigzak)
- [#27361](https://github.com/apache/superset/pull/27361) fix: Missing SQL Lab permission (@michael-s-molina)
@@ -118,11 +117,11 @@ under the License.
- [#27154](https://github.com/apache/superset/pull/27154) fix(import-datasources): Use "admin" user as default for importing datasources (@ddxv)
- [#27258](https://github.com/apache/superset/pull/27258) fix: Sorting charts/dashboards makes the applied filters ineffective (@michael-s-molina)
- [#27213](https://github.com/apache/superset/pull/27213) fix(trino): bumping trino to fix hudi schema fetching (@rusackas)
- [#27236](https://github.com/apache/superset/pull/27236) fix(reports): fixing unit test (@fisjac)
- [#27236](https://github.com/apache/superset/pull/27236) fix(reports): fixing unit test (@fisjac)
- [#27217](https://github.com/apache/superset/pull/27217) fix(sqlglot): Address regressions introduced in #26476 (@john-bodley)
- [#27233](https://github.com/apache/superset/pull/27233) fix: bump FAB to 4.4.1 (perf issue) (@dpgaspar)
- [#27167](https://github.com/apache/superset/pull/27167) fix: setting important lower bounds versions on requirements (@dpgaspar)
- [#27215](https://github.com/apache/superset/pull/27215) fix: no limit in SELECT * for TOP dbs (@betodealmeida)
- [#27215](https://github.com/apache/superset/pull/27215) fix: no limit in SELECT \* for TOP dbs (@betodealmeida)
- [#27214](https://github.com/apache/superset/pull/27214) fix(releasing): fixes npm script for release validation (@rusackas)
- [#26074](https://github.com/apache/superset/pull/26074) fix: Translations related to the date range filter (@Ralkion)
- [#26699](https://github.com/apache/superset/pull/26699) fix(dashboard): drag and drop indicator UX (@justinpark)
@@ -470,3 +469,4 @@ under the License.
- [#26100](https://github.com/apache/superset/pull/26100) build(deps-dev): bump @types/node from 20.9.4 to 20.10.0 in /superset-websocket (@dependabot[bot])
- [#26099](https://github.com/apache/superset/pull/26099) build(deps-dev): bump @types/cookie from 0.5.4 to 0.6.0 in /superset-websocket (@dependabot[bot])
- [#26104](https://github.com/apache/superset/pull/26104) docs: update CVEs fixed on 2.1.2 (@dpgaspar)
- [#26288](https://github.com/apache/superset/pull/26288) chore: Ensure Mixins are ordered according to the MRO (@john-bodley)

View File

@@ -1,67 +0,0 @@
<!--
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.
-->
## Change Log
### 4.0.2 (Fri Jun 14 14:26:58 2024 -0300)
**Fixes**
- [#29260](https://github.com/apache/superset/pull/29260) fix: Custom SQL filter control (@michael-s-molina)
- [#29248](https://github.com/apache/superset/pull/29248) fix(sqllab): Do not strip comments when executing SQL statements (@john-bodley)
- [#28755](https://github.com/apache/superset/pull/28755) fix: Workaround for Pandas.DataFrame.to_csv bug (@john-bodley)
- [#29234](https://github.com/apache/superset/pull/29234) fix(Explore): Keep necessary form data to allow query mode switching (@rtexelm)
- [#29230](https://github.com/apache/superset/pull/29230) fix(sqllab): run previous state query (@justinpark)
- [#29119](https://github.com/apache/superset/pull/29119) fix(mixed-timeseries-plugin): Second query stacks stacked on top of first query series (@kgabryje)
- [#28932](https://github.com/apache/superset/pull/28932) fix(embedded): add missing GUEST_TOKEN_HEADER_NAME to bootstrap data (@hexcafe)
- [#29084](https://github.com/apache/superset/pull/29084) fix: Remove BASE_AXIS from pre-query (@john-bodley)
- [#29081](https://github.com/apache/superset/pull/29081) fix(explore): Drill to detail truncates int64 IDs (@justinpark)
- [#28771](https://github.com/apache/superset/pull/28771) fix(Mixed Chart Filter Control): Allow delete condition for `adhoc_filters_b` (@rtexelm)
- [#28772](https://github.com/apache/superset/pull/28772) fix(dashboard): unable to resize due to the overlapped droptarget (@justinpark)
- [#28750](https://github.com/apache/superset/pull/28750) fix: do not close database modal on mask click (@eschutho)
- [#28745](https://github.com/apache/superset/pull/28745) fix(reports): Update the element class to wait for when taking a screenshot (@Vitor-Avila)
- [#28749](https://github.com/apache/superset/pull/28749) fix(sqllab): Sort db selector options by the API order (@justinpark)
- [#28653](https://github.com/apache/superset/pull/28653) fix: Handling of column types for Presto, Trino, et al. (@john-bodley)
- [#28422](https://github.com/apache/superset/pull/28422) fix: Update migration logic in #27119 (@john-bodley)
- [#28349](https://github.com/apache/superset/pull/28349) fix: Add back description column to saved queries #12431 (@imancrsrk)
- [#28512](https://github.com/apache/superset/pull/28512) fix: improve df to records performance (@dpgaspar)
- [#28613](https://github.com/apache/superset/pull/28613) fix: revert fix(presto preview): re-enable schema previsualization for Trino/Presto table/schemas" (@john-bodley)
- [#28567](https://github.com/apache/superset/pull/28567) fix: Revert "fix: don't strip SQL comments in Explore (#28363)" (@michael-s-molina)
- [#28555](https://github.com/apache/superset/pull/28555) fix(explore): hide a control wrapped with StashFormDataContainer correctly (@justinpark)
- [#28507](https://github.com/apache/superset/pull/28507) fix(dashboard): invalid drop item on a tab (@justinpark)
- [#28432](https://github.com/apache/superset/pull/28432) fix: Time shifts calculation for ECharts plugins (@michael-s-molina)
- [#26782](https://github.com/apache/superset/pull/26782) fix(presto preview): re-enable schema previsualization for Trino/Presto table/schemas (@brouberol)
- [#28409](https://github.com/apache/superset/pull/28409) fix(ar-modal): updateNotificationSettings not updating state (@fisjac)
- [#28395](https://github.com/apache/superset/pull/28395) fix(dashboard): Change class name on last Droppable in a column (@rtexelm)
- [#28396](https://github.com/apache/superset/pull/28396) fix: type annotation breaking on py3.9 (@dpgaspar)
- [#28368](https://github.com/apache/superset/pull/28368) fix: Contribution percentages for ECharts plugins (@michael-s-molina)
- [#28386](https://github.com/apache/superset/pull/28386) fix: Scroll to top when selecting a global dashboard tab (@michael-s-molina)
- [#28312](https://github.com/apache/superset/pull/28312) fix(explore): hide advanced analytics for non temporal xaxis (@justinpark)
- [#28363](https://github.com/apache/superset/pull/28363) fix: don't strip SQL comments in Explore (@mistercrunch)
- [#28341](https://github.com/apache/superset/pull/28341) fix: Remedy logic for UpdateDatasetCommand uniqueness check (@john-bodley)
- [#28334](https://github.com/apache/superset/pull/28334) fix: Small tweaks for Line and Area chart migrations (ECharts) (@michael-s-molina)
- [#28266](https://github.com/apache/superset/pull/28266) fix: use pessimistic json encoder in SQL Lab (@mistercrunch)
- [#28113](https://github.com/apache/superset/pull/28113) fix: Rename legacy line and area charts (@john-bodley)
- [#28279](https://github.com/apache/superset/pull/28279) fix(sql_parse): Ignore USE SQL keyword when determining SELECT statement (@john-bodley)
- [#28322](https://github.com/apache/superset/pull/28322) fix(sql_parse): Add Apache Spark to SQLGlot dialect mapping (@john-bodley)
**Others**
- [#29249](https://github.com/apache/superset/pull/29249) test(Explorer): Fix minor errors in ExploreViewContainer syntax, add tests (@rtexelm)
- [#28876](https://github.com/apache/superset/pull/28876) chore(sqllab): Add logging for actions (@justinpark)

File diff suppressed because it is too large Load Diff

View File

@@ -18,35 +18,45 @@
######################################################################
# Node stage to deal with static asset construction
######################################################################
ARG PY_VER=3.9-slim-bookworm
ARG PY_VER=3.10-slim-bookworm
# if BUILDPLATFORM is null, set it to 'amd64' (or leave as is otherwise).
ARG BUILDPLATFORM=${BUILDPLATFORM:-amd64}
FROM --platform=${BUILDPLATFORM} node:16-bookworm-slim AS superset-node
FROM --platform=${BUILDPLATFORM} node:18-bullseye-slim AS superset-node
ARG NPM_BUILD_CMD="build"
# Somehow we need python3 + build-essential on this side of the house to install node-gyp
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends \
&& 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
RUN --mount=type=bind,target=/frontend-mem-nag.sh,src=./docker/frontend-mem-nag.sh \
/frontend-mem-nag.sh
WORKDIR /app/superset-frontend
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
# Runs the webpack build process
COPY superset-frontend /app/superset-frontend
RUN npm run ${BUILD_CMD}
# This copies the .po files needed for translation
RUN mkdir -p /app/superset/translations
COPY superset/translations /app/superset/translations
# Compiles .json files from the .po files, then deletes the .po files
RUN npm run build-translation
RUN rm /app/superset/translations/*/LC_MESSAGES/*.po
RUN rm /app/superset/translations/messages.pot
######################################################################
# Final lean image...
######################################################################
@@ -61,10 +71,9 @@ ENV LANG=C.UTF-8 \
SUPERSET_HOME="/app/superset_home" \
SUPERSET_PORT=8088
RUN mkdir -p ${PYTHONPATH} superset/static superset-frontend apache_superset.egg-info requirements \
RUN mkdir -p ${PYTHONPATH} superset/static requirements superset-frontend apache_superset.egg-info requirements \
&& useradd --user-group -d ${SUPERSET_HOME} -m --no-log-init --shell /bin/bash superset \
&& apt-get update -qq && apt-get install -yqq --no-install-recommends \
build-essential \
curl \
default-libmysqlclient-dev \
libsasl2-dev \
@@ -76,22 +85,35 @@ RUN mkdir -p ${PYTHONPATH} superset/static superset-frontend apache_superset.egg
&& chown -R superset:superset ./* \
&& rm -rf /var/lib/apt/lists/*
COPY --chown=superset:superset setup.py MANIFEST.in README.md ./
COPY --chown=superset:superset pyproject.toml 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 --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 requirements/base.txt requirements/
RUN --mount=type=cache,target=/root/.cache/pip \
apt-get update -qq && apt-get install -yqq --no-install-recommends \
build-essential \
&& pip install --upgrade setuptools pip \
&& pip install -r requirements/base.txt \
&& apt-get autoremove -yqq --purge build-essential \
&& rm -rf /var/lib/apt/lists/*
# Copy the compiled frontend assets
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 --mount=type=cache,target=/root/.cache/pip \
pip install -e . \
&& flask fab babel-compile --target superset/translations \
&& chown -R superset:superset superset/translations
pip install -e .
# Copy the .json translations from the frontend layer
COPY --chown=superset:superset --from=superset-node /app/superset/translations superset/translations
# Compile translations for the backend - this generates .mo files, then deletes the .po files
COPY ./scripts/translations/generate_mo_files.sh ./scripts/translations/
RUN ./scripts/translations/generate_mo_files.sh \
&& chown -R superset:superset superset/translations \
&& rm superset/translations/messages.pot \
&& rm superset/translations/*/LC_MESSAGES/*.po
COPY --chmod=755 ./docker/run-server.sh /usr/bin/
USER superset
@@ -106,11 +128,8 @@ CMD ["/usr/bin/run-server.sh"]
# Dev image...
######################################################################
FROM lean AS dev
ARG GECKODRIVER_VERSION=v0.33.0 \
FIREFOX_VERSION=117.0.1
USER root
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends \
libnss3 \
@@ -119,18 +138,35 @@ RUN apt-get update -qq \
libx11-xcb1 \
libasound2 \
libxtst6 \
wget \
# Install GeckoDriver WebDriver
git \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
RUN --mount=type=cache,target=/root/.cache/pip \
pip install playwright
RUN playwright install-deps
RUN playwright install chromium
# Install GeckoDriver WebDriver
ARG GECKODRIVER_VERSION=v0.34.0 \
FIREFOX_VERSION=125.0.3
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends wget bzip2 \
&& 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 -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/[log,tmp]/* /tmp/* /var/lib/apt/lists/*
&& apt-get autoremove -yqq --purge wget bzip2 && rm -rf /var/[log,tmp]/* /tmp/* /var/lib/apt/lists/*
# Cache everything for dev purposes...
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
COPY --chown=superset:superset requirements/development.txt requirements/
RUN --mount=type=cache,target=/root/.cache/pip \
apt-get update -qq && apt-get install -yqq --no-install-recommends \
build-essential \
&& pip install -r requirements/development.txt \
&& apt-get autoremove -yqq --purge build-essential \
&& rm -rf /var/lib/apt/lists/*
USER superset
######################################################################

View File

@@ -15,8 +15,8 @@
# limitations under the License.
#
# Python version installed; we need 3.9-3.11
PYTHON=`command -v python3.11 || command -v python3.10 || command -v python3.9`
# Python version installed; we need 3.10-3.11
PYTHON=`command -v python3.11 || command -v python3.10`
.PHONY: install superset venv pre-commit
@@ -24,7 +24,7 @@ install: superset pre-commit
superset:
# Install external dependencies
pip install -r requirements/local.txt
pip install -r requirements/development.txt
# Install Superset in editable (development) mode
pip install -e .
@@ -53,7 +53,7 @@ update: update-py update-js
update-py:
# Install external dependencies
pip install -r requirements/local.txt
pip install -r requirements/development.txt
# Install Superset in editable (development) mode
pip install -e .
@@ -70,7 +70,7 @@ update-js:
venv:
# Create a virtual environment and activate it (recommended)
if ! [ -x "${PYTHON}" ]; then echo "You need Python 3.9, 3.10 or 3.11 installed"; exit 1; fi
if ! [ -x "${PYTHON}" ]; then echo "You need Python 3.10 or 3.11 installed"; exit 1; fi
test -d venv || ${PYTHON} -m venv venv # setup a python3 virtualenv
. venv/bin/activate
@@ -79,7 +79,7 @@ activate:
pre-commit:
# setup pre commit dependencies
pip3 install -r requirements/integration.txt
pip3 install -r requirements/development.txt
pre-commit install
format: py-format js-format

2
NOTICE
View File

@@ -1,5 +1,5 @@
Apache Superset
Copyright 2016-2021 The Apache Software Foundation
Copyright 2016-2024 The Apache Software Foundation
This product includes software developed at The Apache Software
Foundation (http://www.apache.org/).

120
README.md
View File

@@ -30,12 +30,14 @@ under the License.
<picture width="500">
<source
width="600"
media="(prefers-color-scheme: dark)"
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache-dark.png"
src="https://superset.apache.org/img/superset-logo-horiz-dark.svg"
alt="Superset logo (dark)"
/>
<img
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache.png"
width="600"
src="https://superset.apache.org/img/superset-logo-horiz-apache.svg"
alt="Superset logo (light)"
/>
</picture>
@@ -45,11 +47,11 @@ A modern, enterprise-ready business intelligence web application.
[**Why Superset?**](#why-superset) |
[**Supported Databases**](#supported-databases) |
[**Installation and Configuration**](#installation-and-configuration) |
[**Release Notes**](RELEASING/README.md#release-notes-for-recent-releases) |
[**Release Notes**](https://github.com/apache/superset/blob/master/RELEASING/README.md#release-notes-for-recent-releases) |
[**Get Involved**](#get-involved) |
[**Contributor Guide**](#contributor-guide) |
[**Resources**](#resources) |
[**Organizations Using Superset**](RESOURCES/INTHEWILD.md)
[**Organizations Using Superset**](https://github.com/apache/superset/blob/master/RESOURCES/INTHEWILD.md)
## Why Superset?
@@ -70,76 +72,76 @@ Superset provides:
## Screenshots & Gifs
**Video Overview**
https://user-images.githubusercontent.com/64562059/234390129-321d4f35-cb4b-45e8-89d9-20ae292f34fc.mp4
<!-- File hosted here https://github.com/apache/superset-site/raw/lfs/superset-video-4k.mp4 -->
[superset-video-4k.webm](https://github.com/apache/superset/assets/812905/da036bc2-150c-4ee7-80f9-75e63210ff76)
<br/>
**Large Gallery of Visualizations**
<kbd><img title="Gallery" src="superset-frontend/src/assets/images/screenshots/gallery.jpg"/></kbd><br/>
<kbd><img title="Gallery" src="https://superset.apache.org/img/screenshots/gallery.jpg"/></kbd><br/>
**Craft Beautiful, Dynamic Dashboards**
<kbd><img title="View Dashboards" src="superset-frontend/src/assets/images/screenshots/slack_dash.jpg"/></kbd><br/>
<kbd><img title="View Dashboards" src="https://superset.apache.org/img/screenshots/slack_dash.jpg"/></kbd><br/>
**No-Code Chart Builder**
<kbd><img title="Slice & dice your data" src="superset-frontend/src/assets/images/screenshots/explore.jpg"/></kbd><br/>
<kbd><img title="Slice & dice your data" src="https://superset.apache.org/img/screenshots/explore.jpg"/></kbd><br/>
**Powerful SQL Editor**
<kbd><img title="SQL Lab" src="superset-frontend/src/assets/images/screenshots/sql_lab.jpg"/></kbd><br/>
<kbd><img title="SQL Lab" src="https://superset.apache.org/img/screenshots/sql_lab.jpg"/></kbd><br/>
## Supported Databases
Superset can query data from any SQL-speaking datastore or data engine (Presto, Trino, Athena, [and more](https://superset.apache.org/docs/databases/installing-database-drivers/)) that has a Python DB-API driver and a SQLAlchemy dialect.
Superset can query data from any SQL-speaking datastore or data engine (Presto, Trino, Athena, [and more](https://superset.apache.org/docs/configuration/databases)) that has a Python DB-API driver and a SQLAlchemy dialect.
Here are some of the major database solutions that are supported:
<p align="center">
<img src="superset-frontend/src/assets/images/redshift.png" alt="redshift" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/google-biquery.png" alt="google-biquery" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/snowflake.png" alt="snowflake" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/trino.png" alt="trino" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/presto.png" alt="presto" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/databricks.png" alt="databricks" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/druid.png" alt="druid" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/firebolt.png" alt="firebolt" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/timescale.png" alt="timescale" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/rockset.png" alt="rockset" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/postgresql.png" alt="postgresql" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/mysql.png" alt="mysql" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/mssql-server.png" alt="mssql-server" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/db2.png" alt="db2" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/sqlite.png" alt="sqlite" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/sybase.png" alt="sybase" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/mariadb.png" alt="mariadb" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/vertica.png" alt="vertica" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/oracle.png" alt="oracle" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/firebird.png" alt="firebird" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/greenplum.png" alt="greenplum" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/clickhouse.png" alt="clickhouse" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/exasol.png" alt="exasol" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/monet-db.png" alt="monet-db" border="0" width="200" height="80" />
<img src="superset-frontend/src/assets/images/apache-kylin.png" alt="apache-kylin" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/hologres.png" alt="hologres" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/netezza.png" alt="netezza" border="0" width="200" height="80"/>
<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"/>
<img src="https://superset.apache.org/img/databases/redshift.png" alt="redshift" border="0" width="200"/>
<img src="https://superset.apache.org/img/databases/google-biquery.png" alt="google-biquery" border="0" width="200"/>
<img src="https://superset.apache.org/img/databases/snowflake.png" alt="snowflake" border="0" width="200"/>
<img src="https://superset.apache.org/img/databases/trino.png" alt="trino" border="0" width="150" />
<img src="https://superset.apache.org/img/databases/presto.png" alt="presto" border="0" width="200"/>
<img src="https://superset.apache.org/img/databases/databricks.png" alt="databricks" border="0" width="160" />
<img src="https://superset.apache.org/img/databases/druid.png" alt="druid" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/firebolt.png" alt="firebolt" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/timescale.png" alt="timescale" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/rockset.png" alt="rockset" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/postgresql.png" alt="postgresql" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/mysql.png" alt="mysql" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/mssql-server.png" alt="mssql-server" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/ibm-db2.svg" alt="db2" border="0" width="220" />
<img src="https://superset.apache.org/img/databases/sqlite.png" alt="sqlite" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/sybase.png" alt="sybase" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/mariadb.png" alt="mariadb" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/vertica.png" alt="vertica" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/oracle.png" alt="oracle" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/firebird.png" alt="firebird" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/greenplum.png" alt="greenplum" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/clickhouse.png" alt="clickhouse" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/exasol.png" alt="exasol" border="0" width="160" />
<img src="https://superset.apache.org/img/databases/monet-db.png" alt="monet-db" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/apache-kylin.png" alt="apache-kylin" border="0" width="80"/>
<img src="https://superset.apache.org/img/databases/hologres.png" alt="hologres" border="0" width="80"/>
<img src="https://superset.apache.org/img/databases/netezza.png" alt="netezza" border="0" width="80"/>
<img src="https://superset.apache.org/img/databases/pinot.png" alt="pinot" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/teradata.png" alt="teradata" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/yugabyte.png" alt="yugabyte" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/databend.png" alt="databend" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/starrocks.png" alt="starrocks" border="0" width="200" />
<img src="https://superset.apache.org/img/databases/doris.png" alt="doris" border="0" width="200" />
</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).
**A more comprehensive list of supported databases** along with the configuration instructions can be found [here](https://superset.apache.org/docs/configuration/databases).
Want to add support for your datastore or data engine? Read more [here](https://superset.apache.org/docs/frequently-asked-questions#does-superset-work-with-insert-database-engine-here) about the technical requirements.
## Installation and Configuration
[Extended documentation for Superset](https://superset.apache.org/docs/installation/installing-superset-using-docker-compose)
[Extended documentation for Superset](https://superset.apache.org/docs/installation/docker-compose)
## Get Involved
@@ -159,26 +161,22 @@ 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 "In the Wild"](https://github.com/apache/superset/blob/master/RESOURCES/INTHEWILD.md) - open a PR to add your org to the list!
- [Feature Flags](https://github.com/apache/superset/blob/master/RESOURCES/FEATURE_FLAGS.md) - the status of Superset's Feature Flags.
- [Standard Roles](https://github.com/apache/superset/blob/master/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)
Understanding the Superset Points of View
- [The Case for Dataset-Centric Visualization](https://preset.io/blog/dataset-centric-visualization/)
- [Understanding the Superset Semantic Layer](https://preset.io/blog/understanding-superset-semantic-layer/)
- Getting Started with Superset
- [Superset in 2 Minutes using Docker Compose](https://superset.apache.org/docs/installation/installing-superset-using-docker-compose#installing-superset-locally-using-docker-compose)
- [Installing Database Drivers](https://superset.apache.org/docs/databases/docker-add-drivers/)
- [Superset in 2 Minutes using Docker Compose](https://superset.apache.org/docs/installation/docker-compose#installing-superset-locally-using-docker-compose)
- [Installing Database Drivers](https://superset.apache.org/docs/configuration/databases#installing-database-drivers)
- [Building New Database Connectors](https://preset.io/blog/building-database-connector/)
- [Create Your First Dashboard](https://superset.apache.org/docs/creating-charts-dashboards/first-dashboard)
- [Create Your First Dashboard](https://superset.apache.org/docs/using-superset/creating-your-first-dashboard/)
- [Comprehensive Tutorial for Contributing Code to Apache Superset
](https://preset.io/blog/tutorial-contributing-code-to-apache-superset/)
- [Resources to master Superset by Preset](https://preset.io/resources/)
@@ -201,5 +199,15 @@ Understanding the Superset Points of View
- [Superset API](https://superset.apache.org/docs/rest-api)
## Repo Activity
<a href="https://next.ossinsight.io/widgets/official/compose-last-28-days-stats?repo_id=39464018" target="_blank" align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://next.ossinsight.io/widgets/official/compose-last-28-days-stats/thumbnail.png?repo_id=39464018&image_size=auto&color_scheme=dark" width="655" height="auto" />
<img alt="Performance Stats of apache/superset - Last 28 days" src="https://next.ossinsight.io/widgets/official/compose-last-28-days-stats/thumbnail.png?repo_id=39464018&image_size=auto&color_scheme=light" width="655" height="auto" />
</picture>
</a>
<!-- Made with [OSS Insight](https://ossinsight.io/) -->
<!-- telemetry/analytics pixel: -->
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=bc1c90cd-bc04-4e11-8c7b-289fb2839492" />

View File

@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM python:3.9-buster
FROM python:3.10-slim-bookworm
RUN useradd --user-group --create-home --no-log-init --shell /bin/bash superset

View File

@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM python:3.9-buster
FROM python:3.10-slim-bookworm
RUN useradd --user-group --create-home --no-log-init --shell /bin/bash superset

View File

@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM python:3.9-buster
FROM python:3.10-slim-bookworm
ARG VERSION
RUN git clone --depth 1 --branch ${VERSION} https://github.com/apache/superset.git /superset

View File

@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
FROM python:3.9-buster
FROM python:3.10-slim-bookworm
RUN apt-get update -y
RUN apt-get install -y jq

View File

@@ -445,8 +445,16 @@ Create the distribution
```bash
cd superset-frontend/
npm ci && npm run build
# Compile translations for the frontend
npm run build-translation
cd ../
flask fab babel-compile --target superset/translations
# Compile translations for the backend
./scripts/translations/generate_po_files.sh
# build the python distribution
python setup.py sdist
```
@@ -506,3 +514,18 @@ and re-push the proper images and tags through this interface. The action
takes the version (ie `3.1.1`), the git reference (any SHA, tag or branch
reference), and whether to force the `latest` Docker tag on the
generated images.
### Npm Release
You might want to publish the latest @superset-ui release to npm
```bash
cd superset/superset-frontend
```
An automated GitHub action will run and generate a new tag, which will contain a version number provided as a parameter.
```bash
export GH_TOKEN={GITHUB_TOKEN}
npx lerna version {VERSION} --conventional-commits --create-release github --no-private --yes --message {COMMIT_MESSAGE}
```
This action will publish the specified version to npm registry.
```bash
npx lerna publish from-package --yes
```

View File

@@ -94,10 +94,10 @@ class GitChangeLog:
if not pull_request:
pull_request = github_repo.get_pull(pr_number)
self._github_prs[pr_number] = pull_request
except BadCredentialsException as ex:
except BadCredentialsException:
print(
f"Bad credentials to github provided"
f" use access_token parameter or set GITHUB_TOKEN"
"Bad credentials to github provided"
" use access_token parameter or set GITHUB_TOKEN"
)
sys.exit(1)
@@ -167,8 +167,8 @@ class GitChangeLog:
def _get_changelog_version_head(self) -> str:
if not len(self._logs):
print(
f"No changes found between revisions. "
f"Make sure your branch is up to date."
"No changes found between revisions. "
"Make sure your branch is up to date."
)
sys.exit(1)
return f"### {self._version} ({self._logs[0].time})"

View File

@@ -18,7 +18,7 @@
-#}
To: {{ receiver_email }}
Subject: [ANNOUNCE] Apache {{ project_name }} version {{ version }} Released
Subject: [ANNOUNCE] Apache {{ project_name }} version {{ version }} released
Hello Community,
@@ -33,7 +33,7 @@ https://downloads.apache.org/{{ project_module }}/{{ version }}
The PyPI package:
https://pypi.org/project/apache-superset/{{ version }}
The Change Log for the release:
The CHANGELOG for the release:
https://github.com/apache/{{ project_module }}/blob/{{ version }}/CHANGELOG/{{ version }}.md
The instructions for updating to the release:

View File

@@ -52,7 +52,8 @@ Negative votes:
{% endfor -%}
{%- endif %}
Link to vote thread: {{ vote_thread }}
Link to vote thread:
{{ vote_thread }}
We will work to complete the release process.

View File

@@ -30,7 +30,7 @@ https://dist.apache.org/repos/dist/dev/{{ project_module }}/{{ version_rc }}/
The Git tag for the release:
https://github.com/apache/{{ project_module }}/tree/{{ version_rc }}
The change log for the release:
The CHANGELOG for the release:
https://github.com/apache/{{ project_module }}/blob/{{ version_rc }}/CHANGELOG/{{ version }}.md
The instructions for updating to the release:
@@ -39,8 +39,8 @@ https://github.com/apache/{{ project_module }}/blob/{{ version_rc }}/UPDATING.md
Public keys are available at:
https://www.apache.org/dist/{{ project_module }}/KEYS
The vote will be open for at least 72 hours or until the necessary number
of votes are reached.
The vote will be left open until at least 72 hours have passed
and the necessary number of votes (3) have been reached.
Please vote accordingly:

View File

@@ -31,7 +31,7 @@ except ModuleNotFoundError:
RECEIVER_EMAIL = "dev@superset.apache.org"
PROJECT_NAME = "Superset"
PROJECT_MODULE = "superset"
PROJECT_DESCRIPTION = "Apache Superset is a modern, enterprise-ready business intelligence web application"
PROJECT_DESCRIPTION = "Apache Superset is a modern, enterprise-ready business intelligence web application."
def string_comma_to_list(message: str) -> list[str]:

View File

@@ -27,6 +27,7 @@ These features are considered **unfinished** and should only be used on developm
[//]: # "PLEASE KEEP THE LIST SORTED ALPHABETICALLY"
- ALERT_REPORT_TABS
- ENABLE_ADVANCED_DATA_TYPES
- PRESTO_EXPAND_DATA
- SHARE_QUERIES_VIA_KV_STORE
@@ -39,44 +40,48 @@ These features are **finished** but currently being tested. They are usable, but
[//]: # "PLEASE KEEP THE LIST SORTED ALPHABETICALLY"
- ALERT_REPORTS: [(docs)](https://superset.apache.org/docs/installation/alerts-reports)
- ALERT_REPORTS: [(docs)](https://superset.apache.org/docs/configuration/alerts-reports)
- ALLOW_FULL_CSV_EXPORT
- CACHE_IMPERSONATION
- CONFIRM_DASHBOARD_DIFF
- DRILL_TO_DETAIL
- DYNAMIC_PLUGINS: [(docs)](https://superset.apache.org/docs/installation/running-on-kubernetes)
- ENABLE_SUPERSET_META_DB: [(docs)](https://superset.apache.org/docs/databases/meta-database/)
- DYNAMIC_PLUGINS: [(docs)](https://superset.apache.org/docs/configuration/running-on-kubernetes)
- ENABLE_SUPERSET_META_DB: [(docs)](https://superset.apache.org/docs/configuration/databases/#querying-across-databases)
- ESTIMATE_QUERY_COST
- GLOBAL_ASYNC_QUERIES [(docs)](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries)
- HORIZONTAL_FILTER_BAR
- IMPERSONATE_WITH_EMAIL_PREFIX
- PLAYWRIGHT_REPORTS_AND_THUMBNAILS
- RLS_IN_SQLLAB
- SSH_TUNNELING [(docs)](https://superset.apache.org/docs/installation/setup-ssh-tunneling)
- SSH_TUNNELING [(docs)](https://superset.apache.org/docs/configuration/setup-ssh-tunneling)
- USE_ANALAGOUS_COLORS
## Stable
These features flags are **safe for production**. They have been tested and will be supported for the foreseeable future.
These features flags are **safe for production**. They have been tested and will be supported for the at least the current major version cycle.
[//]: # "PLEASE KEEP THE LIST SORTED ALPHABETICALLY"
[//]: # "PLEASE KEEP THESE LISTS SORTED ALPHABETICALLY"
### Flags on the path to feature launch and flag deprecation/removal
- DASHBOARD_VIRTUALIZATION
- DRILL_BY
- DISABLE_LEGACY_DATASOURCE_EDITOR
### Flags retained for runtime configuration
- ALERTS_ATTACH_REPORTS
- ALLOW_ADHOC_SUBQUERY
- DASHBOARD_RBAC [(docs)](https://superset.apache.org/docs/creating-charts-dashboards/first-dashboard#manage-access-to-dashboards)
- DASHBOARD_VIRTUALIZATION
- DASHBOARD_RBAC [(docs)](https://superset.apache.org/docs/using-superset/first-dashboard#manage-access-to-dashboards)
- DATAPANEL_CLOSED_BY_DEFAULT
- DISABLE_LEGACY_DATASOURCE_EDITOR
- DRILL_BY
- DRUID_JOINS
- EMBEDDABLE_CHARTS
- EMBEDDED_SUPERSET
- ENABLE_TEMPLATE_PROCESSING
- ESCAPE_MARKDOWN_HTML
- LISTVIEWS_DEFAULT_CARD_VIEW
- SCHEDULED_QUERIES [(docs)](https://superset.apache.org/docs/installation/alerts-reports)
- SCHEDULED_QUERIES [(docs)](https://superset.apache.org/docs/configuration/alerts-reports)
- SQLLAB_BACKEND_PERSISTENCE
- SQL_VALIDATORS_BY_ENGINE [(docs)](https://superset.apache.org/docs/installation/sql-templating)
- THUMBNAILS [(docs)](https://superset.apache.org/docs/installation/cache)
- SQL_VALIDATORS_BY_ENGINE [(docs)](https://superset.apache.org/docs/configuration/sql-templating)
- THUMBNAILS [(docs)](https://superset.apache.org/docs/configuration/cache)
## Deprecated Flags
@@ -84,6 +89,7 @@ These features flags currently default to True and **will be removed in a future
[//]: # "PLEASE KEEP THE LIST SORTED ALPHABETICALLY"
- AVOID_COLORS_COLLISION
- DASHBOARD_CROSS_FILTERS
- ENABLE_JAVASCRIPT_CONTROLS
- KV_STORE

View File

@@ -72,6 +72,7 @@ Join our growing community!
### Enterprise Technology
- [A3Data](https://a3data.com.br) [@neylsoncrepalde]
- [Analytics Aura](https://analyticsaura.com/) [@Analytics-Aura]
- [Apollo GraphQL](https://www.apollographql.com/) [@evans]
- [Astronomer](https://www.astronomer.io) [@ryw]
- [Avesta Technologies](https://avestatechnologies.com/) [@TheRum]
@@ -86,6 +87,7 @@ Join our growing community!
- [ELMO Cloud HR & Payroll](https://elmosoftware.com.au/)
- [Endress+Hauser](http://www.endress.com/) [@rumbin]
- [FBK - ICT center](http://ict.fbk.eu)
- [Gavagai](https://gavagai.io) [@gavagai-corp]
- [GfK Data Lab](http://datalab.gfk.com) [@mherr]
- [GrowthSimple](https://growthsimple.ai/)
- [Hydrolix](https://www.hydrolix.io/)
@@ -134,6 +136,7 @@ Join our growing community!
- [Zaihang](http://www.zaih.com/)
### Education
- [Aveti Learning](https://avetilearning.com/) [@TheShubhendra]
- [Brilliant.org](https://brilliant.org/)
- [Platzi.com](https://platzi.com/)
- [Sunbird](https://www.sunbird.org/) [@eksteporg]
@@ -152,6 +155,7 @@ Join our growing community!
### Healthcare
- [Amino](https://amino.com) [@shkr]
- [Beans](https://www.beans.fi) [@kakoni]
- [Bluesquare](https://www.bluesquarehub.com/) [@madewulf]
- [Care](https://www.getcare.io/)[@alandao2021]
- [Living Goods](https://www.livinggoods.org) [@chelule]
- [Maieutical Labs](https://maieuticallabs.it) [@xrmx]
@@ -163,14 +167,18 @@ Join our growing community!
### HR / Staffing
- [Swile](https://www.swile.co/) [@PaoloTerzi]
- [Symmetrics](https://www.symmetrics.fyi)
- [bluquist](https://bluquist.com/)
### Government
- [City of Ann Arbor, MI](https://www.a2gov.org/) [@sfirke]
- [RIS3 Strategy of CZ, MIT CR](https://www.ris3.cz/) [@RIS3CZ]
### Travel
- [Agoda](https://www.agoda.com/) [@lostseaway, @maiake, @obombayo]
- [Skyscanner](https://www.skyscanner.net/) [@cleslie, @stanhoucke]
### Others
- [10Web](https://10web.io/)
- [AI inside](https://inside.ai/en/)
- [Automattic](https://automattic.com/) [@Khrol, @Usiel]
- [Dropbox](https://www.dropbox.com/) [@bkyryliuk]

View File

@@ -17,213 +17,211 @@ specific language governing permissions and limitations
under the License.
-->
||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|
| |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 csv upload on Database |:heavy_check_mark:|O|O|O|
| can excel upload 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 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|

View File

@@ -22,6 +22,46 @@ under the License.
This file documents any backwards-incompatible changes in Superset and
assists people when migrating to a new version.
## Next
- [29274](https://github.com/apache/superset/pull/29274): We made it easier to trigger CI on your
forks, whether they are public or private. Simply push to a branch that fits `[0-9].[0-9]*` and
should run on your fork, giving you flexibility on naming your release branches and triggering
CI
- [27505](https://github.com/apache/superset/pull/27505): We simplified the files under
`requirements/` folder. If you use these files for your builds you may want to double
check that your builds are not affected. `base.txt` should be the same as before, though
`development.txt` becomes a bigger set, incorporating the now defunct local,testing,integration, and docker
- [27434](https://github.com/apache/superset/pull/27434/files): DO NOT USE our docker-compose.\*
files for production use cases! While we never really supported
or should have tried to support docker-compose for production use cases, we now actively
have taken a stance against supporting it. See the PR for details.
- [24112](https://github.com/apache/superset/pull/24112): Python 3.10 is now the recommended python version to use, 3.9 still
supported but getting deprecated in the nearish future. CI/CD runs on py310 so you probably want to align. If you
use official dockers, upgrade should happen automatically.
- [27697](https://github.com/apache/superset/pull/27697) [minor] flask-session bump leads to them
deprecating `SESSION_USE_SIGNER`, check your configs as this flag won't do anything moving
forward.
- [27849](https://github.com/apache/superset/pull/27849/) More of an FYI, but we have a
new config `SLACK_ENABLE_AVATARS` (False by default) that works in conjunction with
set `SLACK_API_TOKEN` to fetch and serve Slack avatar links
- [28134](https://github.com/apache/superset/pull/28134/) The default logging level was changed
from DEBUG to INFO - which is the normal/sane default logging level for most software.
- [27777](https://github.com/apache/superset/pull/27777) Moves debug logging logic to config.py.
See `LOG_LEVEL` in `superset/config.py` for the recommended default.
- [28205](https://github.com/apache/superset/pull/28205) The permission `all_database_access` now
more clearly provides access to all databases, as specified in its name. Before it only allowed
listing all databases in CRUD-view and dropdown and didn't provide access to data as it
seemed the name would imply.
- [28483](https://github.com/apache/superset/pull/28483) Starting with this version we bundle
translations inside the python package. This includes the .mo files needed by pybabel on the
backend, as well as the .json files used by the frontend. If you were doing anything before
as part of your bundling to expose translation packages, it's probably not needed anymore.
### Potential Downtime
- [27392](https://github.com/apache/superset/pull/27392): Adds an index to `query.sql_editor_id` to improve performance. This may cause downtime on large deployments.
## 4.0.0
- [27119](https://github.com/apache/superset/pull/27119): Updates various database columns to use the `MediumText` type, potentially requiring a table lock on MySQL dbs or taking some time to complete on large deployments.
@@ -54,6 +94,7 @@ assists people when migrating to a new version.
### Potential Downtime
- [26416](https://github.com/apache/superset/pull/26416): Adds two database indexes to the `report_execution_log` table and one database index to the `report_recipient` to improve performance. Scheduled downtime may be required for large deployments.
- [28482](https://github.com/apache/superset/pull/28482): Potentially augments the `query.executed_sql` and `query.select_sql` columns for MySQL from `MEDIUMTEXT` to `LONGTEXT`. Potential downtime may be required for large deployments which previously ran [27119](https://github.com/apache/superset/pull/27119).
## 3.1.0

View File

@@ -0,0 +1,128 @@
#
# 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.
#
# -----------------------------------------------------------------------
# We don't support docker-compose for production environments.
# If you choose to use this type of deployment make sure to
# create you own docker environment file (docker/.env) with your own
# unique random secure passwords and SECRET_KEY.
# -----------------------------------------------------------------------
x-superset-image: &superset-image apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest}
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
- ./docker:/app/docker
- superset_home:/app/superset_home
version: "3.7"
services:
redis:
image: redis:7
container_name: superset_cache
restart: unless-stopped
volumes:
- redis:/data
db:
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
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:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
image: *superset-image
container_name: superset_app
command: ["/app/docker/docker-bootstrap.sh", "app-gunicorn"]
user: "root"
restart: unless-stopped
ports:
- 8088:8088
depends_on: *superset-depends-on
volumes: *superset-volumes
superset-init:
image: *superset-image
container_name: superset_init
command: ["/app/docker/docker-init.sh"]
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
superset-worker:
image: *superset-image
container_name: superset_worker
command: ["/app/docker/docker-bootstrap.sh", "worker"]
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
user: "root"
volumes: *superset-volumes
healthcheck:
test:
[
"CMD-SHELL",
"celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME",
]
superset-worker-beat:
image: *superset-image
container_name: superset_worker_beat
command: ["/app/docker/docker-bootstrap.sh", "beat"]
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
user: "root"
volumes: *superset-volumes
healthcheck:
disable: true
volumes:
superset_home:
external: false
db_home:
external: false
redis:
external: false

View File

@@ -14,7 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
x-superset-image: &superset-image apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest}
# -----------------------------------------------------------------------
# We don't support docker-compose for production environments.
# If you choose to use this type of deployment make sure to
# create you own docker environment file (docker/.env) with your own
# unique random secure passwords and SECRET_KEY.
# -----------------------------------------------------------------------
x-superset-depends-on: &superset-depends-on
- db
- redis
@@ -23,7 +29,13 @@ x-superset-volumes:
- ./docker:/app/docker
- superset_home:/app/superset_home
version: "3.7"
x-common-build: &common-build
context: .
target: dev
cache_from:
- apache/superset-cache:3.10-slim-bookworm
version: "4.0"
services:
redis:
image: redis:7
@@ -33,7 +45,11 @@ services:
- redis:/data
db:
env_file: docker/.env-non-dev
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
image: postgres:15
container_name: superset_db
restart: unless-stopped
@@ -42,8 +58,13 @@ services:
- ./docker/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
superset:
env_file: docker/.env-non-dev
image: *superset-image
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
build:
<<: *common-build
container_name: superset_app
command: ["/app/docker/docker-bootstrap.sh", "app-gunicorn"]
user: "root"
@@ -54,10 +75,15 @@ services:
volumes: *superset-volumes
superset-init:
image: *superset-image
container_name: superset_init
build:
<<: *common-build
command: ["/app/docker/docker-init.sh"]
env_file: docker/.env-non-dev
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
user: "root"
volumes: *superset-volumes
@@ -65,10 +91,15 @@ services:
disable: true
superset-worker:
image: *superset-image
build:
<<: *common-build
container_name: superset_worker
command: ["/app/docker/docker-bootstrap.sh", "worker"]
env_file: docker/.env-non-dev
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
user: "root"
@@ -81,10 +112,15 @@ services:
]
superset-worker-beat:
image: *superset-image
build:
<<: *common-build
container_name: superset_worker_beat
command: ["/app/docker/docker-bootstrap.sh", "beat"]
env_file: docker/.env-non-dev
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
user: "root"

View File

@@ -14,7 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
x-superset-image: &superset-image apachesuperset.docker.scarf.sh/apache/superset:${TAG:-latest-dev}
# -----------------------------------------------------------------------
# We don't support docker-compose for production environments.
# If you choose to use this type of deployment make sure to
# create you own docker environment file (docker/.env) with your own
# unique random secure passwords and SECRET_KEY.
# -----------------------------------------------------------------------
x-superset-user: &superset-user root
x-superset-depends-on: &superset-depends-on
- db
@@ -27,7 +33,12 @@ x-superset-volumes: &superset-volumes
- superset_home:/app/superset_home
- ./tests:/app/tests
version: "3.7"
x-common-build: &common-build
context: .
target: dev
cache_from:
- apache/superset-cache:3.10-slim-bookworm
services:
nginx:
image: nginx:latest
@@ -49,7 +60,11 @@ services:
- redis:/data
db:
env_file: docker/.env
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
image: postgres:15
container_name: superset_db
restart: unless-stopped
@@ -60,8 +75,13 @@ services:
- ./docker/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
superset:
env_file: docker/.env
image: *superset-image
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
build:
<<: *common-build
container_name: superset_app
command: ["/app/docker/docker-bootstrap.sh", "app"]
restart: unless-stopped
@@ -73,12 +93,11 @@ services:
depends_on: *superset-depends-on
volumes: *superset-volumes
environment:
CYPRESS_CONFIG: "${CYPRESS_CONFIG}"
CYPRESS_CONFIG: "${CYPRESS_CONFIG:-}"
superset-websocket:
container_name: superset_websocket
build: ./superset-websocket
image: superset-websocket
ports:
- 8080:8080
extra_hosts:
@@ -99,6 +118,10 @@ services:
- ./superset-websocket:/home/superset-websocket
- /home/superset-websocket/node_modules
- /home/superset-websocket/dist
# Mounting a config file that contains a dummy secret required to boot up.
# do not use this docker-compose in production
- ./docker/superset-websocket/config.json:/home/superset-websocket/config.json
environment:
- PORT=8080
- REDIS_HOST=redis
@@ -106,33 +129,51 @@ services:
- REDIS_SSL=false
superset-init:
image: *superset-image
build:
<<: *common-build
container_name: superset_init
command: ["/app/docker/docker-init.sh"]
env_file: docker/.env
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
user: *superset-user
volumes: *superset-volumes
environment:
CYPRESS_CONFIG: "${CYPRESS_CONFIG}"
CYPRESS_CONFIG: "${CYPRESS_CONFIG:-}"
healthcheck:
disable: true
superset-node:
image: node:16
image: node:18
environment:
# set this to false if you have perf issues running the npm i; npm run dev in-docker
# if you do so, you have to run this manually on the host, which should perform better!
SCARF_ANALYTICS: "${SCARF_ANALYTICS:-}"
container_name: superset_node
command: ["/app/docker/docker-frontend.sh"]
env_file: docker/.env
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
depends_on: *superset-depends-on
environment:
SCARF_ANALYTICS: "${SCARF_ANALYTICS}"
volumes: *superset-volumes
superset-worker:
image: *superset-image
build:
<<: *common-build
container_name: superset_worker
command: ["/app/docker/docker-bootstrap.sh", "worker"]
env_file: docker/.env
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
environment:
CELERYD_CONCURRENCY: 2
restart: unless-stopped
depends_on: *superset-depends-on
user: *superset-user
@@ -146,10 +187,15 @@ services:
# mem_reservation: 128M
superset-worker-beat:
image: *superset-image
build:
<<: *common-build
container_name: superset_worker_beat
command: ["/app/docker/docker-bootstrap.sh", "beat"]
env_file: docker/.env
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
restart: unless-stopped
depends_on: *superset-depends-on
user: *superset-user
@@ -158,16 +204,24 @@ services:
disable: true
superset-tests-worker:
image: *superset-image
build:
<<: *common-build
container_name: superset_tests_worker
command: ["/app/docker/docker-bootstrap.sh", "worker"]
env_file: docker/.env
env_file:
- path: docker/.env # default
required: true
- path: docker/.env-local # optional override
required: false
profiles:
- optional
environment:
DATABASE_HOST: localhost
DATABASE_DB: test
REDIS_CELERY_DB: 2
REDIS_RESULTS_DB: 3
REDIS_HOST: localhost
CELERYD_CONCURRENCY: 8
network_mode: host
depends_on: *superset-depends-on
user: *superset-user

View File

@@ -14,17 +14,21 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
COMPOSE_PROJECT_NAME=superset
# database configurations (do not modify)
DATABASE_DB=superset
DATABASE_HOST=db
# Make sure you set this to a unique secure random value on production
DATABASE_PASSWORD=superset
DATABASE_USER=superset
EXAMPLES_DB=examples
EXAMPLES_HOST=db
EXAMPLES_USER=examples
# Make sure you set this to a unique secure random value on production
EXAMPLES_PASSWORD=examples
EXAMPLES_PORT=5432
@@ -34,6 +38,7 @@ DATABASE_PORT=5432
DATABASE_DIALECT=postgresql
POSTGRES_DB=superset
POSTGRES_USER=superset
# Make sure you set this to a unique secure random value on production
POSTGRES_PASSWORD=superset
#MYSQL_DATABASE=superset
#MYSQL_USER=superset
@@ -51,3 +56,10 @@ SUPERSET_LOAD_EXAMPLES=yes
CYPRESS_CONFIG=false
SUPERSET_PORT=8088
MAPBOX_API_KEY=''
# Make sure you set this to a unique secure random value on production
SUPERSET_SECRET_KEY=TEST_NON_DEV_SECRET
ENABLE_PLAYWRIGHT=false
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
BUILD_SUPERSET_FRONTEND_IN_DOCKER=true

View File

@@ -1,53 +0,0 @@
#
# 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.
#
COMPOSE_PROJECT_NAME=superset
# database configurations (do not modify)
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
POSTGRES_DB=superset
POSTGRES_USER=superset
POSTGRES_PASSWORD=superset
#MYSQL_DATABASE=superset
#MYSQL_USER=superset
#MYSQL_PASSWORD=superset
#MYSQL_RANDOM_ROOT_PASSWORD=yes
# Add the mapped in /app/pythonpath_docker which allows devs to override stuff
PYTHONPATH=/app/pythonpath:/app/docker/pythonpath_dev
REDIS_HOST=redis
REDIS_PORT=6379
SUPERSET_ENV=production
SUPERSET_LOAD_EXAMPLES=yes
SUPERSET_SECRET_KEY=TEST_NON_DEV_SECRET
CYPRESS_CONFIG=false
SUPERSET_PORT=8088
MAPBOX_API_KEY=''

View File

@@ -35,18 +35,11 @@ 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..."
celery --app=superset.tasks.celery_app:app worker -O fair -l INFO
# setting up only 2 workers by default to contain memory usage in dev environments
celery --app=superset.tasks.celery_app:app worker -O fair -l INFO --concurrency=${CELERYD_CONCURRENCY:-2}
;;
beat)
echo "Starting Celery beat..."

View File

@@ -18,12 +18,18 @@
set -e
# Packages needed for puppeteer:
apt update
apt install -y chromium
if [ "$PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" = "false" ]; then
apt update
apt install -y chromium
fi
cd /app/superset-frontend
npm install -f --no-optional --global webpack webpack-cli
npm install -f --no-optional
if [ "$BUILD_SUPERSET_FRONTEND_IN_DOCKER" = "true" ]; then
cd /app/superset-frontend
npm install -f --no-optional --global webpack webpack-cli
npm install -f --no-optional
echo "Running frontend"
npm run dev
echo "Running frontend"
npm run dev
else
echo "Skipping frontend build steps - YOU RUN IT MANUALLY ON THE HOST!"
fi

View File

@@ -94,10 +94,9 @@ CELERY_CONFIG = CeleryConfig
FEATURE_FLAGS = {"ALERT_REPORTS": True}
ALERT_REPORTS_NOTIFICATION_DRY_RUN = True
WEBDRIVER_BASEURL = "http://superset:8088/"
WEBDRIVER_BASEURL = "http://superset:8088/" # When using docker compose baseurl should be http://superset_app:8088/
# The base URL for the email report hyperlinks.
WEBDRIVER_BASEURL_USER_FRIENDLY = WEBDRIVER_BASEURL
SQLLAB_CTAS_NO_LIMIT = True
#

View File

@@ -0,0 +1,22 @@
{
"port": 8080,
"logLevel": "info",
"logToFile": false,
"logFilename": "app.log",
"statsd": {
"host": "127.0.0.1",
"port": 8125,
"globalTags": []
},
"redis": {
"port": 6379,
"host": "127.0.0.1",
"password": "",
"db": 0,
"ssl": false
},
"redisStreamPrefix": "async-events-",
"jwtAlgorithms": ["HS256"],
"jwtSecret": "CHANGE-ME-IN-PRODUCTION-GOTTA-BE-LONG-AND-SECRET",
"jwtCookieName": "async-token"
}

3
docs/.gitignore vendored
View File

@@ -20,3 +20,6 @@ yarn-debug.log*
yarn-error.log*
docs/.zshrc
# Gets copied from the root of the project at build time (yarn start / yarn build)
docs/intro.md

1
docs/.nvmrc Normal file
View File

@@ -0,0 +1 @@
v20.12.2

201
docs/data/countries.json Normal file
View File

@@ -0,0 +1,201 @@
{
"countries": [
"Afghanistan",
"Aland",
"Albania",
"Algeria",
"American Samoa",
"Andorra",
"Angola",
"Anguilla",
"Antarctica",
"Antigua And Barbuda",
"Argentina",
"Armenia",
"Australia",
"Austria",
"Azerbaijan",
"Bahrain",
"Bangladesh",
"Barbados",
"Belarus",
"Belgium",
"Belize",
"Benin",
"Bermuda",
"Bhutan",
"Bolivia",
"Bosnia And Herzegovina",
"Botswana",
"Brazil",
"Brunei",
"Bulgaria",
"Burkina Faso",
"Burundi",
"Cambodia",
"Cameroon",
"Canada",
"Cape Verde",
"Central African Republic",
"Chad",
"Chile",
"China",
"Colombia",
"Comoros",
"Cook Islands",
"Costa Rica",
"Croatia",
"Cuba",
"Cyprus",
"Czech Republic",
"Democratic Republic Of The Congo",
"Denmark",
"Djibouti",
"Dominica",
"Dominican Republic",
"Ecuador",
"Egypt",
"El Salvador",
"Equatorial Guinea",
"Eritrea",
"Estonia",
"Ethiopia",
"Fiji",
"Finland",
"France",
"France (regions)",
"French Polynesia",
"Gabon",
"Gambia",
"Germany",
"Ghana",
"Greece",
"Greenland",
"Grenada",
"Guatemala",
"Guinea",
"Guyana",
"Haiti",
"Honduras",
"Iceland",
"India",
"Indonesia",
"Iran",
"Israel",
"Italy",
"Italy (regions)",
"Japan",
"Jordan",
"Kazakhstan",
"Kenya",
"Korea",
"Kuwait",
"Kyrgyzstan",
"Laos",
"Latvia",
"Lebanon",
"Lesotho",
"Liberia",
"Libya",
"Liechtenstein",
"Lithuania",
"Luxembourg",
"Macedonia",
"Madagascar",
"Malawi",
"Malaysia",
"Maldives",
"Mali",
"Malta",
"Marshall Islands",
"Mauritania",
"Mauritius",
"Mexico",
"Moldova",
"Mongolia",
"Montenegro",
"Montserrat",
"Morocco",
"Mozambique",
"Myanmar",
"Namibia",
"Nauru",
"Nepal",
"Netherlands",
"New Caledonia",
"New Zealand",
"Nicaragua",
"Niger",
"Nigeria",
"Northern Mariana Islands",
"Norway",
"Oman",
"Pakistan",
"Palau",
"Panama",
"Papua New Guinea",
"Paraguay",
"Peru",
"Philippines",
"Philippines (regions)",
"Poland",
"Portugal",
"Qatar",
"Romania",
"Russia",
"Rwanda",
"Saint Lucia",
"Saint Pierre And Miquelon",
"Saint Vincent And The Grenadines",
"Samoa",
"San Marino",
"Sao Tome And Principe",
"Saudi Arabia",
"Senegal",
"Seychelles",
"Sierra Leone",
"Singapore",
"Slovakia",
"Slovenia",
"Solomon Islands",
"Somalia",
"South Africa",
"Spain",
"Sri Lanka",
"Sudan",
"Suriname",
"Sweden",
"Switzerland",
"Syria",
"Taiwan",
"Tajikistan",
"Tanzania",
"Thailand",
"The Bahamas",
"Timorleste",
"Togo",
"Tonga",
"Trinidad And Tobago",
"Tunisia",
"Turkey",
"Turkey (regions)",
"Turkmenistan",
"Turks And Caicos Islands",
"Uganda",
"UK",
"Ukraine",
"United Arab Emirates",
"United States Minor Outlying Islands",
"United States Virgin Islands",
"Uruguay",
"USA",
"Uzbekistan",
"Vanuatu",
"Venezuela",
"Vietnam",
"Wallis And Futuna",
"Yemen",
"Zambia",
"Zimbabwe"
]
}

View File

@@ -4,8 +4,7 @@ hide_title: true
sidebar_position: 10
---
import { Buffer } from 'buffer';
global.Buffer = Buffer;
import { Buffer } from 'buffer/index.js';
import SwaggerUI from 'swagger-ui-react';
import openapi from '/resources/openapi.json';
import 'swagger-ui-react/swagger-ui.css';

View File

@@ -1,11 +1,11 @@
---
title: Alerts and Reports
hide_title: true
sidebar_position: 10
sidebar_position: 2
version: 2
---
## Alerts and Reports
# Alerts and Reports
Users can configure automated alerts and reports to send dashboards or charts to an email recipient or Slack channel.
@@ -14,28 +14,28 @@ Users can configure automated alerts and reports to send dashboards or charts to
Alerts and reports are disabled by default. To turn them on, you need to do some setup, described here.
### Requirements
## Requirements
#### Commons
### Commons
##### In your `superset_config.py` or `superset_config_docker.py`
#### In your `superset_config.py` or `superset_config_docker.py`
- `"ALERT_REPORTS"` [feature flag](/docs/installation/configuring-superset#feature-flags) must be turned to True.
- `"ALERT_REPORTS"` [feature flag](/docs/configuration/configuring-superset#feature-flags) must be turned to True.
- `beat_schedule` in CeleryConfig must contain schedule for `reports.scheduler`.
- At least one of those must be configured, depending on what you want to use:
- emails: `SMTP_*` settings
- Slack messages: `SLACK_API_TOKEN`
###### Disable dry-run mode
##### Disable dry-run mode
Screenshots will be taken but no messages actually sent as long as `ALERT_REPORTS_NOTIFICATION_DRY_RUN = True`, its default value in `docker/pythonpath_dev/superset_config.py`. To disable dry-run mode and start receiving email/Slack notifications, set `ALERT_REPORTS_NOTIFICATION_DRY_RUN` to `False` in [superset config](https://github.com/apache/superset/blob/master/docker/pythonpath_dev/superset_config.py).
##### In your `Dockerfile`
#### In your `Dockerfile`
- You must install a headless browser, for taking screenshots of the charts and dashboards. Only Firefox and Chrome are currently supported.
> If you choose Chrome, you must also change the value of `WEBDRIVER_TYPE` to `"chrome"` in your `superset_config.py`.
Note: All the components required (Firefox headless browser, Redis, Postgres db, celery worker and celery beat) are present in the *dev* docker image if you are following [Installing Superset Locally](/docs/installation/installing-superset-using-docker-compose/).
Note: All the components required (Firefox headless browser, Redis, Postgres db, celery worker and celery beat) are present in the *dev* docker image if you are following [Installing Superset Locally](/docs/installation/docker-compose/).
All you need to do is add the required config variables described in this guide (See `Detailed Config`).
If you are running a non-dev docker image, e.g., a stable release like `apache/superset:3.1.0`, that image does not include a headless browser. Only the `superset_worker` container needs this headless browser to browse to the target chart or dashboard.
@@ -43,11 +43,11 @@ You can either install and configure the headless browser - see "Custom Dockerfi
*Note*: In this context, a "dev image" is the same application software as its corresponding non-dev image, just bundled with additional tools. So an image like `3.1.0-dev` is identical to `3.1.0` when it comes to stability, functionality, and running in production. The actual "in-development" versions of Superset - cutting-edge and unstable - are not tagged with version numbers on Docker Hub and will display version `0.0.0-dev` within the Superset UI.
#### Slack integration
### Slack integration
To send alerts and reports to Slack channels, you need to create a new Slack Application on your workspace.
1. Connect to your Slack workspace, then head to <https://api.slack.com/apps>.
1. Connect to your Slack workspace, then head to [https://api.slack.com/apps].
2. Create a new app.
3. Go to "OAuth & Permissions" section, and give the following scopes to your app:
- `incoming-webhook`
@@ -61,14 +61,14 @@ To send alerts and reports to Slack channels, you need to create a new Slack App
Note: when you configure an alert or a report, the Slack channel list takes channel names without the leading '#' e.g. use `alerts` instead of `#alerts`.
#### Kubernetes-specific
### Kubernetes-specific
- You must have a `celery beat` pod running. If you're using the chart included in the GitHub repository under [helm/superset](https://github.com/apache/superset/tree/master/helm/superset), you need to put `supersetCeleryBeat.enabled = true` in your values override.
- You can see the dedicated docs about [Kubernetes installation](/docs/installation/running-on-kubernetes) for more generic details.
- You can see the dedicated docs about [Kubernetes installation](/docs/installation/kubernetes) for more details.
#### Docker Compose specific
### Docker Compose specific
##### You must have in your `docker-compose.yml`
#### You must have in your `docker-compose.yml`
- A Redis message broker
- PostgreSQL DB instead of SQLlite
@@ -160,13 +160,13 @@ WEBDRIVER_OPTION_ARGS = [
]
# This is for internal use, you can keep http
WEBDRIVER_BASEURL = "http://superset:8088"
WEBDRIVER_BASEURL = "http://superset:8088" # When running using docker compose use "http://superset_app:8088'
# This is the link sent to the recipient. Change to your domain, e.g. https://superset.mydomain.com
WEBDRIVER_BASEURL_USER_FRIENDLY = "http://localhost:8088"
```
You also need
to specify on behalf of which username to render the dashboards. In general dashboards and charts
to specify on behalf of which username to render the dashboards. In general, dashboards and charts
are not accessible to unauthorized requests, that is why the worker needs to take over credentials
of an existing user to take a snapshot.
@@ -195,14 +195,34 @@ Please refer to `ExecutorType` in the codebase for other executor types.
its default value of `http://0.0.0.0:8080/`.
### Custom Dockerfile
It's also possible to specify a minimum interval between each report's execution through the config file:
``` python
# Set a minimum interval threshold between executions (for each Alert/Report)
# Value should be an integer
ALERT_MINIMUM_INTERVAL = int(timedelta(minutes=10).total_seconds())
REPORT_MINIMUM_INTERVAL = int(timedelta(minutes=5).total_seconds())
```
Alternatively, you can assign a function to `ALERT_MINIMUM_INTERVAL` and/or `REPORT_MINIMUM_INTERVAL`. This is useful to dynamically retrieve a value as needed:
``` python
def alert_dynamic_minimal_interval(**kwargs) -> int:
"""
Define logic here to retrieve the value dynamically
"""
ALERT_MINIMUM_INTERVAL = alert_dynamic_minimal_interval
```
## Custom Dockerfile
If you're running the dev version of a released Superset image, like `apache/superset:3.1.0-dev`, you should be set with the above.
But if you're building your own image, or starting with a non-dev version, a webdriver (and headless browser) is needed to capture screenshots of the charts and dashboards which are then sent to the recipient.
Here's how you can modify your Dockerfile to take the screenshots either with Firefox or Chrome.
#### Using Firefox
### Using Firefox
```docker
FROM apache/superset:3.1.0
@@ -223,7 +243,7 @@ RUN pip install --no-cache gevent psycopg2 redis
USER superset
```
#### Using Chrome
### Using Chrome
```docker
FROM apache/superset:3.1.0
@@ -248,21 +268,21 @@ USER superset
Don't forget to set `WEBDRIVER_TYPE` and `WEBDRIVER_OPTION_ARGS` in your config if you use Chrome.
### Troubleshooting
## Troubleshooting
There are many reasons that reports might not be working. Try these steps to check for specific issues.
#### Confirm feature flag is enabled and you have sufficient permissions
### Confirm feature flag is enabled and you have sufficient permissions
If you don't see "Alerts & Reports" under the *Manage* section of the Settings dropdown in the Superset UI, you need to enable the `ALERT_REPORTS` feature flag (see above). Enable another feature flag and check to see that it took effect, to verify that your config file is getting loaded.
Log in as an admin user to ensure you have adequate permissions.
#### Check the logs of your Celery worker
### Check the logs of your Celery worker
This is the best source of information about the problem. In a docker compose deployment, you can do this with a command like `docker logs superset_worker --since 1h`.
#### Check web browser and webdriver installation
### Check web browser and webdriver installation
To take a screenshot, the worker visits the dashboard or chart using a headless browser, then takes a screenshot. If you are able to send a chart as CSV or text but can't send as PNG, your problem may lie with the browser.
@@ -270,7 +290,7 @@ Superset docker images that have a tag ending with `-dev` have the Firefox headl
If you are handling the installation of that software on your own, or wish to use Chromium instead, do your own verification to ensure that the headless browser opens successfully in the worker environment.
#### Send a test email
### Send a test email
One symptom of an invalid connection to an email server is receiving an error of `[Errno 110] Connection timed out` in your logs when the report tries to send.
@@ -301,7 +321,7 @@ Possible fixes:
- Some cloud hosts disable outgoing unauthenticated SMTP email to prevent spam. For instance, [Azure blocks port 25 by default on some machines](https://learn.microsoft.com/en-us/azure/virtual-network/troubleshoot-outbound-smtp-connectivity). Enable that port or use another sending method.
- Use another set of SMTP credentials that you verify works in this setup.
#### Browse to your report from the worker
### Browse to your report from the worker
The worker may be unable to reach the report. It will use the value of `WEBDRIVER_BASEURL` to browse to the report. If that route is invalid, or presents an authentication challenge that the worker can't pass, the report screenshot will fail.
@@ -309,7 +329,7 @@ Check this by attempting to `curl` the URL of a report that you see in the error
In a deployment with authentication measures enabled like HTTPS and Single Sign-On, it may make sense to have the worker navigate directly to the Superset application running in the same location, avoiding the need to sign in. For instance, you could use `WEBDRIVER_BASEURL="http://superset_app:8088"` for a docker compose deployment, and set `"force_https": False,` in your `TALISMAN_CONFIG`.
### Scheduling Queries as Reports
## Scheduling Queries as Reports
You can optionally allow your users to schedule queries directly in SQL Lab. This is done by adding
extra metadata to saved queries, which are then picked up by an external scheduled (like
@@ -402,6 +422,6 @@ This configuration is based on
menu item called “Schedule” to SQL Lab. When the menu item is clicked, a modal will show up where
the user can add the metadata required for scheduling the query.
This information can then be retrieved from the endpoint `/savedqueryviewapi/api/read` and used to
schedule the queries that have `scheduled_queries` in their JSON metadata. For schedulers other than
This information can then be retrieved from the endpoint `/api/v1/saved_query/` and used to
schedule the queries that have `schedule_info` in their JSON metadata. For schedulers other than
Airflow, additional fields can be easily added to the configuration file above.

View File

@@ -1,13 +1,13 @@
---
title: Async Queries via Celery
hide_title: true
sidebar_position: 9
sidebar_position: 4
version: 1
---
## Async Queries via Celery
# Async Queries via Celery
### Celery
## Celery
On large analytic databases, its common to run queries that execute for minutes or hours. To enable
support for long running queries that execute beyond the typical web requests timeout (30-60
@@ -89,7 +89,7 @@ issues arise. Please clear your existing results cache store when upgrading an e
- SQL Lab will _only run your queries asynchronously if_ you enable **Asynchronous Query Execution**
in your database settings (Sources > Databases > Edit record).
### Celery Flower
## Celery Flower
Flower is a web based tool for monitoring the Celery cluster which you can install from pip:

View File

@@ -1,11 +1,11 @@
---
title: Caching
hide_title: true
sidebar_position: 6
sidebar_position: 3
version: 1
---
## Caching
# Caching
Superset uses [Flask-Caching](https://flask-caching.readthedocs.io/) for caching purposes.
Flask-Caching supports various caching backends, including Redis (recommended), Memcached,
@@ -33,7 +33,7 @@ FILTER_STATE_CACHE_CONFIG = {
}
```
### Dependencies
## Dependencies
In order to use dedicated cache stores, additional python libraries must be installed
@@ -43,7 +43,7 @@ In order to use dedicated cache stores, additional python libraries must be inst
These libraries can be installed using pip.
### Fallback Metastore Cache
## Fallback Metastore Cache
Note, that some form of Filter State and Explore caching are required. If either of these caches
are undefined, Superset falls back to using a built-in cache that stores data in the metadata
@@ -60,16 +60,16 @@ DATA_CACHE_CONFIG = {
}
```
### Chart Cache Timeout
## Chart Cache Timeout
The cache timeout for charts may be overridden by the settings for an individual chart, dataset, or
database. Each of these configurations will be checked in order before falling back to the default
value defined in `DATA_CACHE_CONFIG.
value defined in `DATA_CACHE_CONFIG`.
Note, that by setting the cache timeout to `-1`, caching for charting data can be disabled, either
per chart, dataset or database, or by default if set in `DATA_CACHE_CONFIG`.
### SQL Lab Query Results
## SQL Lab Query Results
Caching for SQL Lab query results is used when async queries are enabled and is configured using
`RESULTS_BACKEND`.
@@ -77,11 +77,11 @@ Caching for SQL Lab query results is used when async queries are enabled and is
Note that this configuration does not use a flask-caching dictionary for its configuration, but
instead requires a cachelib object.
See [Async Queries via Celery](/docs/installation/async-queries-celery) for details.
See [Async Queries via Celery](/docs/configuration/async-queries-celery) for details.
### Caching Thumbnails
## Caching Thumbnails
This is an optional feature that can be turned on by activating its [feature flag](/docs/installation/configuring-superset#feature-flags) on config:
This is an optional feature that can be turned on by activating its [feature flag](/docs/configuration/configuring-superset#feature-flags) on config:
```
FEATURE_FLAGS = {

View File

@@ -1,32 +1,44 @@
---
title: Configuring Superset
hide_title: true
sidebar_position: 4
sidebar_position: 1
version: 1
---
## Configuring Superset
# Configuring Superset
### Configuration
## superset_config.py
To configure your application, you need to create a file `superset_config.py`. Add this file to your
Superset exposes hundreds of configurable parameters through its
[config.py module](https://github.com/apache/superset/blob/master/superset/config.py). The
variables and objects exposed act as a public interface of the bulk of what you may want
to configure, alter and interface with. In this python module, you'll find all these
parameters, sensible defaults, as well as rich documentation in the form of comments
`PYTHONPATH` or create an environment variable `SUPERSET_CONFIG_PATH` specifying the full path of the `superset_config.py`.
To configure your application, you need to create you own configuration module, which
will allow you to override few or many of these parameters. Instead of altering the core module,
You'll want to define your own module (typically a file named `superset_config.py`.
Add this file to your `PYTHONPATH` or create an environment variable
`SUPERSET_CONFIG_PATH` specifying the full path of the `superset_config.py`.
For example, if deploying on Superset directly on a Linux-based system where your `superset_config.py` is under `/app` directory, you can run:
For example, if deploying on Superset directly on a Linux-based system where your
`superset_config.py` is under `/app` directory, you can run:
```bash
export SUPERSET_CONFIG_PATH=/app/superset_config.py
```
If you are using your own custom Dockerfile with official Superset image as base image, then you can add your overrides as shown below:
If you are using your own custom Dockerfile with official Superset image as base image,
then you can add your overrides as shown below:
```bash
COPY --chown=superset superset_config.py /app/
ENV SUPERSET_CONFIG_PATH /app/superset_config.py
```
Docker compose deployments handle application configuration differently. See [https://github.com/apache/superset/tree/master/docker#readme](https://github.com/apache/superset/tree/master/docker#readme) for details.
Docker compose deployments handle application configuration differently using specific conventions..
Refer to the [docker-compose tips & configuration](/docs/installation/docker-compose#docker-compose-tips--configuration)
for details.
The following is an example of just a few of the parameters you can set in your `superset_config.py` file:
@@ -39,7 +51,7 @@ ROW_LIMIT = 5000
# and encrypting sensitive information on the database
# Make sure you are changing this key for your deployment with a strong key.
# Alternatively you can set it with `SUPERSET_SECRET_KEY` environment variable.
# You MUST set this for production environments or the server will not refuse
# You MUST set this for production environments or the server will refuse
# to start and you will see an error in the logs accordingly.
SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
@@ -63,33 +75,39 @@ WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
MAPBOX_API_KEY = ''
```
All the parameters and default values defined in
[https://github.com/apache/superset/blob/master/superset/config.py](https://github.com/apache/superset/blob/master/superset/config.py)
:::tip
Note that it is typical to copy and paste [only] the portions of the
core [superset/config.py](https://github.com/apache/superset/blob/master/superset/config.py) that
you want to alter, along with the related comments into your own `superset_config.py` file.
:::
All the parameters and default values defined
in [superset/config.py](https://github.com/apache/superset/blob/master/superset/config.py)
can be altered in your local `superset_config.py`. Administrators will want to read through the file
to understand what can be configured locally as well as the default values in place.
Since `superset_config.py` acts as a Flask configuration module, it can be used to alter the
settings Flask itself, as well as Flask extensions like `flask-wtf`, `flask-caching`, `flask-migrate`,
and `flask-appbuilder`. Flask App Builder, the web framework used by Superset, offers many
settings Flask itself, as well as Flask extensions that Superset bundles like
`flask-wtf`, `flask-caching`, `flask-migrate`,
and `flask-appbuilder`. Each one of these extensions offers intricate configurability.
Flask App Builder, the web framework used by Superset, also offers many
configuration settings. Please consult the
[Flask App Builder Documentation](https://flask-appbuilder.readthedocs.org/en/latest/config.html)
for more information on how to configure it.
Make sure to change:
You'll want to change:
- `SQLALCHEMY_DATABASE_URI`: by default it is stored at ~/.superset/superset.db
- `SECRET_KEY`: to a long random string
If you need to exempt endpoints from CSRF (e.g. if you are running a custom auth postback endpoint),
you can add the endpoints to `WTF_CSRF_EXEMPT_LIST`:
- `SQLALCHEMY_DATABASE_URI`: that by default points to sqlite database located at
~/.superset/superset.db
```
WTF_CSRF_EXEMPT_LIST = []
```
### Specifying a SECRET_KEY
## Specifying a SECRET_KEY
#### Adding an initial SECRET_KEY
### Adding an initial SECRET_KEY
Superset requires a user-specified SECRET_KEY to start up. This requirement was [added in version 2.1.0 to force secure configurations](https://preset.io/blog/superset-security-update-default-secret_key-vulnerability/). Add a strong SECRET_KEY to your `superset_config.py` file like:
@@ -99,7 +117,12 @@ SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
You can generate a strong secure key with `openssl rand -base64 42`.
#### Rotating to a newer SECRET_KEY
:::caution Use a strong secret key
This key will be used for securely signing session cookies and encrypting sensitive information stored in Superset's application metadata database.
Your deployment must use a complex, unique key.
:::
### Rotating to a newer SECRET_KEY
If you wish to change your existing SECRET_KEY, add the existing SECRET_KEY to your `superset_config.py` file as
`PREVIOUS_SECRET_KEY = `and provide your new key as `SECRET_KEY =`. You can find your current SECRET_KEY with these
@@ -112,9 +135,13 @@ from flask import current_app; print(current_app.config["SECRET_KEY"])
Save your `superset_config.py` with these values and then run `superset re-encrypt-secrets`.
### Using a production metastore
## Setting up a production metadata database
By default, Superset is configured to use SQLite, which is a simple and fast way to get started
Superset needs a database to store the information it manages, like the definitions of
charts, dashboards, and many other things.
By default, Superset is configured to use [SQLite](https://www.sqlite.org/),
a self-contained, single-file database that offers a simple and fast way to get started
(without requiring any installation). However, for production environments,
using SQLite is highly discouraged due to security, scalability, and data integrity reasons.
It's important to use only the supported database engines and consider using a different
@@ -134,10 +161,17 @@ Use the following database drivers and connection strings:
| [PostgreSQL](https://www.postgresql.org/) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](https://www.mysql.com/) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
:::tip
Properly setting up metadata store is beyond the scope of this documentation. We recommend
using a hosted managed service such as [Amazon RDS](https://aws.amazon.com/rds/) or
[Google Cloud Databases](https://cloud.google.com/products/databases?hl=en) to handle
service and supporting infrastructure and backup strategy.
:::
To configure Superset metastore set `SQLALCHEMY_DATABASE_URI` config key on `superset_config`
to the appropriate connection string.
### Running on a WSGI HTTP Server
## Running on a WSGI HTTP Server
While you can run Superset on NGINX or Apache, we recommend using Gunicorn in async mode. This
enables impressive concurrency even and is fairly easy to install and configure. Please refer to the
@@ -163,15 +197,15 @@ for production use._
If you're not using Gunicorn, you may want to disable the use of `flask-compress` by setting
`COMPRESS_REGISTER = False` in your `superset_config.py`.
Currently, Google BigQuery python sdk is not compatible with `gevent`, due to some dynamic monkeypatching on python core library by `gevent`.
Currently, the Google BigQuery Python SDK is not compatible with `gevent`, due to some dynamic monkeypatching on python core library by `gevent`.
So, when you use `BigQuery` datasource on Superset, you have to use `gunicorn` worker type except `gevent`.
### HTTPS Configuration
## HTTPS Configuration
You can configure HTTPS upstream via a load balancer or a reverse proxy (such as nginx) and do SSL/TLS Offloading before traffic reaches the Superset application. In this setup, local traffic from a Celery worker taking a snapshot of a chart for Alerts & Reports can access Superset at a `http://` URL, from behind the ingress point.
You can also configure [SSL in Gunicorn](https://docs.gunicorn.org/en/stable/settings.html#ssl) (the Python webserver) if you are using an official Superset Docker image.
### Configuration Behind a Load Balancer
## Configuration Behind a Load Balancer
If you are running superset behind a load balancer or reverse proxy (e.g. NGINX or ELB on AWS), you
may need to utilize a healthcheck endpoint so that your load balancer knows if your superset
@@ -189,7 +223,7 @@ In case the reverse proxy is used for providing SSL encryption, an explicit defi
RequestHeader set X-Forwarded-Proto "https"
```
### Custom OAuth2 Configuration
## Custom OAuth2 Configuration
Superset is built on Flask-AppBuilder (FAB), which supports many providers out of the box
(GitHub, Twitter, LinkedIn, Google, Azure, etc). Beyond those, Superset can be configured to connect
@@ -288,43 +322,45 @@ CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
]
```
### LDAP Authentication
## LDAP Authentication
FAB supports authenticating user credentials against an LDAP server.
To use LDAP you must install the [python-ldap](https://www.python-ldap.org/en/latest/installing.html) package.
See [FAB's LDAP documentation](https://flask-appbuilder.readthedocs.io/en/latest/security.html#authentication-ldap)
for details.
### Mapping LDAP or OAUTH groups to Superset roles
## Mapping LDAP or OAUTH groups to Superset roles
AUTH_ROLES_MAPPING in Flask-AppBuilder is a dictionary that maps from LDAP/OAUTH group names to FAB roles.
It is used to assign roles to users who authenticate using LDAP or OAuth.
#### Mapping OAUTH groups to Superset roles
### Mapping OAUTH groups to Superset roles
The following AUTH_ROLES_MAPPING dictionary would map the OAUTH group "superset_users" to the Superset roles "Gamma" as well as "Alpha", and the OAUTH group "superset_admins" to the Superset role "Admin".
The following `AUTH_ROLES_MAPPING` dictionary would map the OAUTH group "superset_users" to the Superset roles "Gamma" as well as "Alpha", and the OAUTH group "superset_admins" to the Superset role "Admin".
```python
AUTH_ROLES_MAPPING = {
"superset_users": ["Gamma","Alpha"],
"superset_admins": ["Admin"],
}
```
### Mapping LDAP groups to Superset roles
#### Mapping LDAP groups to Superset roles
The following AUTH_ROLES_MAPPING dictionary would map the LDAP DN "cn=superset_users,ou=groups,dc=example,dc=com" to the Superset roles "Gamma" as well as "Alpha", and the LDAP DN "cn=superset_admins,ou=groups,dc=example,dc=com" to the Superset role "Admin".
The following `AUTH_ROLES_MAPPING` dictionary would map the LDAP DN "cn=superset_users,ou=groups,dc=example,dc=com" to the Superset roles "Gamma" as well as "Alpha", and the LDAP DN "cn=superset_admins,ou=groups,dc=example,dc=com" to the Superset role "Admin".
```python
AUTH_ROLES_MAPPING = {
"cn=superset_users,ou=groups,dc=example,dc=com": ["Gamma","Alpha"],
"cn=superset_admins,ou=groups,dc=example,dc=com": ["Admin"],
}
```
Note: This requires `AUTH_LDAP_SEARCH` to be set. For more details, please see the [FAB Security documentation](https://flask-appbuilder.readthedocs.io/en/latest/security.html).
Note: This requires AUTH_LDAP_SEARCH to be set. For more details, Please refer (FAB Security documentation)[https://flask-appbuilder.readthedocs.io/en/latest/security.html].
### Syncing roles at login
#### Syncing roles at login
You can also use the `AUTH_ROLES_SYNC_AT_LOGIN` configuration variable to control how often Flask-AppBuilder syncs the user's roles with the LDAP/OAUTH groups. If `AUTH_ROLES_SYNC_AT_LOGIN` is set to True, Flask-AppBuilder will sync the user's roles each time they log in. If `AUTH_ROLES_SYNC_AT_LOGIN` is set to False, Flask-AppBuilder will only sync the user's roles when they first register.
You can also use the AUTH_ROLES_SYNC_AT_LOGIN configuration variable to control how often Flask-AppBuilder syncs the user's roles with the LDAP/OAUTH groups. If AUTH_ROLES_SYNC_AT_LOGIN is set to True, Flask-AppBuilder will sync the user's roles each time they log in. If AUTH_ROLES_SYNC_AT_LOGIN is set to False, Flask-AppBuilder will only sync the user's roles when they first register.
### Flask app Configuration Hook
## Flask app Configuration Hook
`FLASK_APP_MUTATOR` is a configuration function that can be provided in your environment, receives
the app object and can alter it in any way. For example, add `FLASK_APP_MUTATOR` into your
@@ -347,7 +383,7 @@ def FLASK_APP_MUTATOR(app: Flask) -> None:
app.before_request_funcs.setdefault(None, []).append(make_session_permanent)
```
### Feature Flags
## Feature Flags
To support a diverse set of users, Superset has some features that are not enabled by default. For
example, some users have stronger security restrictions, while some others may not. So Superset

View File

@@ -1,11 +1,12 @@
---
title: Country Map Tools
hide_title: true
sidebar_position: 1
sidebar_position: 10
version: 1
---
## The Country Map Visualization
import countriesData from '../../data/countries.json';
# The Country Map Visualization
The Country Map visualization allows you to plot lightweight choropleth maps of
your countries by province, states, or other subdivision types. It does not rely
@@ -16,39 +17,16 @@ code is less ambiguous and is unique to all regions in the world.
## Included Maps
The current list of countries can be found in the src
[legacy-plugin-chart-country-map/src/countries.ts](https://github.com/apache/superset/blob/master/superset-frontend/plugins/legacy-plugin-chart-country-map/src/countries.ts)
The Country Maps visualization already ships with the maps for the following countries:
- Belgium
- Brazil
- Bulgaria
- Canada
- China
- Egypt
- France
- Germany
- India
- Iran
- Italy
- Japan
- Korea
- Liechtenstein
- Morocco
- Myanmar
- Netherlands
- Portugal
- Russia
- Singapore
- Spain
- Switzerland
- Syria
- Thailand
- Timorleste
- Turkey
- UK
- Ukraine
- Uruguay
- USA
- Zambia
<ul style={{columns: 3}}>
{countriesData.countries.map((country, index) => (
<li key={index}>{country}</li>
))}
</ul>
## Adding a New Country

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