Compare commits

..
Author SHA1 Message Date
Michael S. Molina 31e1b63bb3 chore: Adds 3.1.3 RC1 data to CHANGELOG.md 2024-05-02 10:43:06 -03:00
Maxime BeaucheminandMichael S. Molina b7534a0a22 chore: allow codecov to detect SHA (#28278) 2024-05-02 09:22:50 -03:00
Evan RusackasandMichael S. Molina 7840afb7fc fix(ci): adding codecov token (#28277)
(cherry picked from commit 3cc8434c5a)
2024-05-01 10:24:22 -03:00
JUST.in DO ITandMichael S. Molina 4e416150f2 fix(sqllab): invalid css scope for ace editor autocomplete (#28156) 2024-04-29 09:37:02 -03:00
Beto DealmeidaandMichael S. Molina 2d0eb38c3b fix: Dremio alias (#28222)
(cherry picked from commit 173d5d09bf)
2024-04-29 08:56:16 -03:00
John BodleyandMichael S. Molina ccda3b45fb fix(sql_parse): Provide more lenient logic when extracting latest[_sub]_partition (#28152)
(cherry picked from commit c5e7d870f0)
2024-04-29 08:56:16 -03:00
John BodleyandMichael S. Molina d2488e94e1 fix(sql_parse): Support Jinja format() filter when extracting latest[_sub]_partition (#28117)
(cherry picked from commit 2f11f66167)
2024-04-19 08:27:21 -03:00
Michael S. MolinaandMichael S. Molina 36ba5c9434 fix: Dynamic filter does not show all values on blur/clear events (#28036)
(cherry picked from commit 6e01a68276)
2024-04-16 08:25:11 -03:00
Elizabeth ThompsonandMichael S. Molina 964dc610af fix: bump client side chart timeouts to use the SUPERSET_WEBSERVER_TIMEOUT (#28018)
(cherry picked from commit 99c414e4da)
2024-04-16 08:25:11 -03:00
Michael S. MolinaandMichael S. Molina e8784c448d fix: Select is accepting unknown pasted values when allowNewOptions is false (#28017)
(cherry picked from commit caad29b5b3)
2024-04-16 08:25:11 -03:00
Michael S. MolinaandMichael S. Molina ffe87bf2ec fix: Incorrect onChange value when an unloaded value is pasted into AsyncSelect (#27996)
(cherry picked from commit 06077d42a8)
2024-04-16 08:25:11 -03:00
Spencer TorresandMichael S. Molina 83b4947ad2 fix(frontend): allow "constructor" property in response data (#25407)
(cherry picked from commit a1983e468b)
2024-04-08 11:00:34 -03:00
Daniel Vaz GasparandMichael S. Molina d71bad7bde fix: add mariadb engine spec same as MySQL (#27919)
(cherry picked from commit 559605e393)
2024-04-08 11:00:34 -03:00
Ross MabbettandMichael S. Molina 12570a7a31 fix(Dashboard): Add border to row when hovering HoverMenu in edit mode (#27593) 2024-04-08 11:00:05 -03:00
John BodleyandMichael S. Molina 928471512c chore(sqllab): Do not strip comments when executing SQL statements (#27725) 2024-04-04 10:29:00 -03:00
Lily KuangandMichael S. Molina 863461dd41 fix(bar-chart): change legend padding for horizontal orientation (#27883)
(cherry picked from commit cfa0556df7)
2024-04-04 08:57:12 -03:00
John BodleyandMichael S. Molina 80ccb0c51f chore: Default to engine specification regarding using wildcard (#27843)
(cherry picked from commit 30bc8f06dc)
2024-04-04 08:57:12 -03:00
John BodleyandMichael S. Molina d8cffb0a3f chore(sql_parse): Provide more meaningful SQLGlot errors (#27858)
(cherry picked from commit c38529741e)
2024-04-03 11:24:13 -03:00
John BodleyandMichael S. Molina 58a53b4457 chore(sql_parse): Strip leading/trailing whitespace in Jinja macro extraction (#27842)
(cherry picked from commit 5ab95aaf7d)
2024-04-03 10:27:12 -03:00
JUST.in DO ITandMichael S. Molina 4581b46098 fix(dashboard): missing null check in error extra (#27845)
(cherry picked from commit f25795c4e4)
2024-04-03 10:27:12 -03:00
Michael S. Molina 6ba1dfbfd5 chore: Adds 3.1.2 RC1 data to CHANGELOG.md 2024-04-02 10:00:52 -03:00
Michael S. MolinaandMichael S. Molina c7a2adc880 fix: Select onChange is fired when the same item is selected in single mode (#27706)
(cherry picked from commit d69a1870a0)
2024-04-01 16:00:12 -03:00
Elizabeth ThompsonandMichael S. Molina c377ccf7d6 fix: reduce alert error to warning (#27744)
(cherry picked from commit 70da454bbc)
2024-03-28 08:58:29 -03:00
John BodleyandMichael S. Molina 19b05d3422 fix: Provide more inclusive error handling for saved queries (#27644)
(cherry picked from commit 3ae74d1f2d)
2024-03-26 16:39:25 -03:00
John BodleyandMichael S. Molina 119b2b0c93 fix: Leverage actual database for rendering Jinjarized SQL (#27646) 2024-03-26 16:39:05 -03:00
JUST.in DO ITandMichael S. Molina e48dae781f fix(sqllab): unable to remove table (#27636)
(cherry picked from commit fa3fea9dd8)
2024-03-26 15:33:58 -03:00
Ross MabbettandMichael S. Molina 64d1a8f8c3 fix(Chart Annotation modal): Table and Superset annotation options will paginate, exceeding previous max limit 100 (#27022)
(cherry picked from commit ce210eebde)
2024-03-26 15:33:58 -03:00
JackandMichael S. Molina 0b9c0d97dc fix(AlertReports): defaulting grace period to undefined (#27552)
(cherry picked from commit 4fce940a9c)
2024-03-26 15:33:58 -03:00
JackandMichael S. Molina bc603db7d4 fix(AlertReports): clearing custom_width when disabled (#27551)
(cherry picked from commit 0f6e4041c7)
2024-03-26 15:33:58 -03:00
Kamil GabryjelskiandMichael S. Molina 06195b53ce fix: Persist query params appended to permalink (#27601) 2024-03-22 09:35:41 -03:00
John BodleyandMichael S. Molina b4fde18508 fix(sql_parse): Ensure table extraction handles Jinja templating (#27470) 2024-03-22 09:23:16 -03:00
46535a315e fix: Volatile datasource ordering in dashboard export (#19595)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2024-03-22 09:10:17 -03:00
Ross MabbettandMichael S. Molina 3919651b0a fix(Dashboard): Add editMode conditional for translate3d fix on charts to allow intended Fullscreen (#27613)
(cherry picked from commit 842b0939f6)
2024-03-22 09:08:03 -03:00
Sam FirkeandMichael S. Molina b749207713 fix(utils): fix off-by-one error in how rolling window's min_periods truncates dataframe (#27388)
(cherry picked from commit d4d8625ab8)
2024-03-22 09:08:02 -03:00
Beto DealmeidaandMichael S. Molina 56a4b11464 fix: sqlglot SQL Server (#27577)
(cherry picked from commit 72a41c1642)
2024-03-22 09:08:01 -03:00
Beto DealmeidaandMichael S. Molina 2ef0c13be9 fix: bump sqlglot to support materialized CTEs (#27576) 2024-03-21 16:16:50 -03:00
hlcianfagnaandMichael S. Molina fc611a8873 fix(db_engine_specs): Update convert_dttm to work correctly with CrateDB (#27567)
(cherry picked from commit fcceaf081c)
2024-03-21 16:11:58 -03:00
Michael S. MolinaandMichael S. Molina 48f851f261 fix: Skips Hive tests that are blocking PRs (#27605)
(cherry picked from commit 718cd64657)
2024-03-21 16:11:57 -03:00
Beto DealmeidaandMichael S. Molina 9887b4ed33 fix: guest queries (#27566)
(cherry picked from commit 36290ce72f)
2024-03-21 16:11:57 -03:00
Beto DealmeidaandMichael S. Molina efa94c4ab0 fix: pass valid SQL to SM (#27464)
(cherry picked from commit 376bfd05bd)
2024-03-19 09:02:07 -03:00
Beto DealmeidaandMichael S. Molina 8274d869b1 feat: improve _extract_tables_from_sql (#26748) 2024-03-19 08:46:55 -03:00
JackandMichael S. Molina ea83e9f9a7 fix(alerts/reports): implementing custom_width as an Antd number input (#27260) 2024-03-19 08:36:07 -03:00
Ville BrofeldtandMichael S. Molina f1f20e436c fix(postprocessing): resample with holes (#27487)
(cherry picked from commit 7f19d296b1)
2024-03-19 08:32:21 -03:00
Beto DealmeidaandMichael S. Molina 51f904c42c fix: check if guest user modified query (#27484)
(cherry picked from commit 735b895dd5)
2024-03-14 09:22:40 -03:00
Evan RusackasandMichael S. Molina 553a469dba fix(webpack): remove double-dotted file extensions in webpack config (#27471)
(cherry picked from commit 47ae9d4cc3)
2024-03-14 09:22:40 -03:00
Mark SkeltonandMichael S. Molina a15975d3af 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-14 09:20:59 -03:00
JackandMichael S. Molina 09caaca251 fix(Alerts & Reports): Fixing bug that resets cron value to default when empty (#27262) 2024-03-14 09:19:05 -03:00
JackandMichael S. Molina 1136606453 fix(deps): resolving canvg and html2canvas module not found (#27315)
(cherry picked from commit 5915851ba3)
2024-03-14 09:16:28 -03:00
JUST.in DO ITandMichael S. Molina 7b3d289a9f fix: missing shared color in mixed timeseries (#27403)
(cherry picked from commit 9ced2552db)
2024-03-07 16:26:41 -03:00
JUST.in DO ITandMichael S. Molina ee8be59fdc fix(sqllab): Close already removed tab (#27391)
(cherry picked from commit 5107cc0fd9)
2024-03-07 15:06:40 -03:00
Vitor AvilaandMichael S. Molina e84b2a3ba1 fix(API): Updating assets via the API should preserve ownership configuration (#27364)
(cherry picked from commit 66bf70172f)
2024-03-07 15:06:40 -03:00
Daniel Vaz GasparandMichael S. Molina 4b5de7d203 fix: improve explore REST api validations (#27395)
(cherry picked from commit a3d2e0bf44)
2024-03-07 15:06:40 -03:00
Aleksey KarpovandMichael S. Molina efd305eb8d fix(docker): Remove race condition when building image (#26205)
(cherry picked from commit f68dd8293f)
2024-03-07 15:06:40 -03:00
Michael S. MolinaandMichael S. Molina 4972fbe751 fix: Results section in Explore shows an infinite spinner (#27366)
(cherry picked from commit 231e659b56)
2024-03-04 11:08:46 -05:00
16e5eddeb6 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-04 10:56:48 -05:00
Michael S. MolinaandMichael S. Molina 6ddaf1cf02 fix: Heatmap numeric sorting (#27360)
(cherry picked from commit fe2f5a7be9)
2024-03-04 10:45:41 -05:00
Ross MabbettandMichael S. Molina d8c4a7a067 fix(dashboard): table chart drag preview overflowing container (#27308)
(cherry picked from commit ad3995daf6)
2024-03-04 10:45:41 -05:00
Joe LiandMichael S. Molina 039afe8c99 chore: bump cryptography minimum to 42.0.4 (#27281)
(cherry picked from commit 371f2ab851)
2024-02-29 14:15:49 -05:00
JUST.in DO ITandMichael S. Molina da6a25780e fix(sqllab): invalid dump sql shown after closing tab (#27295) 2024-02-29 14:06:27 -05:00
goto-loopandMichael S. Molina c39e16e624 fix(plugin-chart-echarts): calculate Gauge Chart intervals correctly when min value is set (#27285)
(cherry picked from commit d65f64d1ce)
2024-02-29 13:43:48 -05:00
Michael S. MolinaandMichael S. Molina 22e3419e36 fix: Incorrect data type on import page (#27307)
(cherry picked from commit fa04eec2d5)
2024-02-29 13:43:48 -05:00
Michael S. MolinaandMichael S. Molina e80179a056 fix: Data zoom with horizontal orientation (#27291)
(cherry picked from commit 7854b622a3)
2024-02-29 13:43:48 -05:00
Michael S. MolinaandMichael S. Molina 254f1ae512 fix: Navigating to an invalid page index in lists (#27273) 2024-02-29 13:43:26 -05:00
Michael S. MolinaandMichael S. Molina 38bc2d3b02 fix: Inoperable dashboard filter slider when range is <= 1 (#27271)
Co-authored-by: Justin Francos <jfrancos@manifold.ai>
(cherry picked from commit ce9e4b4b77)
2024-02-27 15:39:22 -05:00
James O'ClaireandMichael S. Molina dc493fe7af fix(import-datasources): Use "admin" user as default for importing datasources (#27154) 2024-02-27 15:39:01 -05:00
Michael S. MolinaandMichael S. Molina 0d2cf7c938 fix: Sorting charts/dashboards makes the applied filters ineffective (#27258)
(cherry picked from commit 8b4dce71d6)
2024-02-27 15:34:09 -05:00
Evan RusackasandMichael S. Molina 744e403b0c fix(trino): bumping trino to fix hudi schema fetching (#27213) 2024-02-27 15:33:49 -05:00
JackandMichael S. Molina a1ebdd70b1 fix(reports): fixing unit test (#27236)
(cherry picked from commit 6278315072)
2024-02-27 15:30:12 -05:00
John BodleyandMichael S. Molina e687525524 fix(sqlglot): Address regressions introduced in #26476 (#27217)
(cherry picked from commit 2c564817f1)
2024-02-27 15:30:12 -05:00
Michael S. MolinaandMichael S. Molina 51f3591139 chore: Removes Chromatic workflow and dependencies (#27232) 2024-02-27 15:29:53 -05:00
Daniel Vaz GasparandMichael S. Molina 465bce1480 fix: bump FAB to 4.4.1 (perf issue) (#27233)
(cherry picked from commit 62cf0365e9)
2024-02-27 15:24:28 -05:00
Daniel Vaz GasparandMichael S. Molina 303b654a60 fix: setting important lower bounds versions on requirements (#27167) 2024-02-23 10:17:33 -05:00
Beto DealmeidaandMichael S. Molina ee7eec60ea fix: no limit in SELECT * for TOP dbs (#27215)
(cherry picked from commit c54fbe6e96)
2024-02-23 10:03:26 -05:00
Michael S. MolinaandMichael S. Molina 8706879755 fix: Failed to execute importScripts on worker-css (#27191)
(cherry picked from commit 983a1646c4)
2024-02-22 16:28:12 -05:00
JUST.in DO ITandMichael S. Molina fc28da0a7b fix(sqllab): typeahead search is broken in db selector (#27181)
(cherry picked from commit 8fbaf84f66)
2024-02-22 16:26:08 -05:00
Daniel Vaz GasparandMichael S. Molina 9a842dc1ea fix(ci): mypy pre-commit issues (#27161)
(cherry picked from commit 8dc6cbe206)
2024-02-22 16:03:35 -05:00
Daniel Vaz GasparandMichael S. Molina 4b56670aa2 feat: bump FAB to 4.4.0 (#27159)
(cherry picked from commit f7c5773a97)
2024-02-22 11:54:47 -05:00
Michael S. MolinaandMichael S. Molina c839c5734a fix: Duplicated toast messages (#27135) 2024-02-22 11:49:58 -05:00
Michael S. MolinaandMichael S. Molina 7ab62e1aaa fix: Plain error message when visiting a dashboard via permalink without permissions (#27132) 2024-02-22 11:46:49 -05:00
Joe LiandMichael S. Molina 0308095a22 chore: lower cryptography min version to 41.0.2 (#27129)
(cherry picked from commit d2910b0b87)
2024-02-22 11:45:14 -05:00
StepanandMichael S. Molina c94a4609bb fix(pivot-table-v2): Added forgotten translation pivot table v2 (#22840)
(cherry picked from commit 60fe58196a)
2024-02-22 11:45:14 -05:00
Michael S. MolinaandMichael S. Molina c743822031 fix: RLS modal overflow (#27128)
(cherry picked from commit 506ea756ad)
2024-02-22 11:45:13 -05:00
Daniel Vaz GasparandMichael S. Molina 02d754e7c8 fix: gevent upgrade to 23.9.1 (#27112) 2024-02-22 11:43:58 -05:00
Daniel Vaz GasparandMichael S. Molina f5dc821f3d fix: bump grpcio, urllib3 and paramiko (#27124)
(cherry picked from commit e43097329f)
2024-02-22 11:42:29 -05:00
Daniel Vaz GasparandMichael S. Molina 8819157336 fix: upgrade cryptography to major 42 (#27113)
(cherry picked from commit 152cd70b5f)
2024-02-22 11:01:10 -05:00
Michael S. MolinaandMichael S. Molina a57358ec49 fix: Timeseries Y-axis format with contribution mode (#27106)
(cherry picked from commit af577d64b1)
2024-02-22 11:01:09 -05:00
Michael S. Molina 24e7be605b chore: Adds 3.1.1 RC1 data to CHANGELOG.md 2024-02-14 10:53:29 -05:00
Kamil GabryjelskiandMichael S. Molina 4f839ef2d1 fix: Drill by with GLOBAL_ASYNC_QUERIES (#27066) 2024-02-13 11:14:09 -05:00
Daniel Vaz GasparandMichael S. Molina 534e8f394e fix: bump FAB to 4.3.11 (#27039) 2024-02-13 10:45:41 -05:00
Daniel Vaz GasparandMichael S. Molina 10c9a7f0e2 fix: chart import validation (#26993) 2024-02-13 10:39:22 -05:00
dependabot[bot]Michael S. Molinadependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4704380b2a build(deps): bump csstype from 2.6.9 to 3.1.3 in /superset-frontend (#26716)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 10:37:34 -05:00
Maxime BeaucheminandMichael S. Molina cde63c8c1e fix(big_number): white-space: nowrap to prevent wrapping (#27096)
(cherry picked from commit 4796484190)
2024-02-13 10:22:50 -05:00
Beto DealmeidaandMichael S. Molina f440a6a535 fix(drill): no rows returned (#27073)
(cherry picked from commit 0950bb7b7d)
2024-02-13 10:22:50 -05:00
Kamil GabryjelskiandMichael S. Molina 3c74a9b866 fix: Filters sidebar stretching dashboard height (#27069)
(cherry picked from commit 3f91bdb40d)
2024-02-13 10:22:49 -05:00
Kamil GabryjelskiandMichael S. Molina 3d6dc9c280 fix: Exclude header controls from dashboard PDF export (#27068)
(cherry picked from commit 005cee023b)
2024-02-13 10:22:49 -05:00
JUST.in DO ITandMichael S. Molina bb44099c68 fix(plugins): missing currency on small number format in table chart (#27041)
(cherry picked from commit 6f402991e5)
2024-02-13 10:22:49 -05:00
JUST.in DO ITandMichael S. Molina d572af3073 fix(explore): allow free-form d3 format on custom column formatting (#27023)
(cherry picked from commit fd06ff3745)
2024-02-13 10:22:49 -05:00
Beto DealmeidaandMichael S. Molina c974daa0c7 fix: safer error message in alerts (#27019)
(cherry picked from commit 686ce33ea5)
2024-02-13 10:22:49 -05:00
Vitor AvilaandMichael S. Molina 5a6109b2de fix(security manager): Users should not have access to all draft dashboards (#27015)
(cherry picked from commit 01e2f8ace3)
2024-02-13 10:22:48 -05:00
Vitor AvilaandMichael S. Molina 4df40bedc2 fix(tags): Improve support for tags with colons (#26965)
(cherry picked from commit e437356013)
2024-02-13 10:22:48 -05:00
Beto DealmeidaandMichael S. Molina e3abdd5b6a fix: column values with NaN (#26946)
(cherry picked from commit d8a9847503)
2024-02-13 10:22:47 -05:00
Kamil GabryjelskiandMichael S. Molina ab7f560d4b fix(plugin-chart-table): Prevent misalignment of totals and headers when scrollbar is visible (#26964)
(cherry picked from commit e6d2fb6fdf)
2024-02-13 10:22:47 -05:00
Zef LinandMichael S. Molina dac73fe0cd feat(embedded+async queries): support async queries to work with embedded guest user (#26332)
(cherry picked from commit efdeb9df05)
2024-02-13 10:22:45 -05:00
Usiel RiedlandMichael S. Molina 86794cbb5e fix(cache): remove unused webserver config & handle trailing slashes (#22849)
(cherry picked from commit 56069b05f9)
2024-02-01 14:53:01 -05:00
Sebastian BernauerandMichael S. Molina e8a3c5d5f1 fix: Allow exporting saved queries without schema information (#26889)
(cherry picked from commit 4c5176eea8)
2024-02-01 14:53:01 -05:00
Daniel Vaz GasparandMichael S. Molina 322812b1c8 fix: dashboard import validation (#26887)
(cherry picked from commit 36ce9e26f0)
2024-02-01 14:53:01 -05:00
mapledanandMichael S. Molina de61591a6a fix: handle CRLF endings causing sqlglot failure (#26911)
(cherry picked from commit f2bf9f72e4)
2024-02-01 14:53:01 -05:00
ErichandMichael S. Molina 61b4017b2f fix(pinot): typo in the name for epoch_ms_to_dttm (#26906)
(cherry picked from commit 484901f483)
2024-02-01 14:53:01 -05:00
Michael S. MolinaandMichael S. Molina 81353e280b fix: Bar charts horizontal margin adjustment error (#26817)
(cherry picked from commit 84c48d11d8)
2024-02-01 14:53:01 -05:00
Beto DealmeidaandMichael S. Molina ba9032e8d0 fix: prevent guest user from modifying metrics (#26749)
(cherry picked from commit fade4806ce)
2024-02-01 14:53:00 -05:00
Matthew ChiangandMichael S. Molina 1be9eb577a fix(deck.gl Multiple Layer Chart): Add Contour and Heatmap Layer as options (#25923)
(cherry picked from commit 64ba5797df)
2024-02-01 14:53:00 -05:00
Beto DealmeidaandMichael S. Molina 1d9cfdabd1 feat(sqlparse): improve table parsing (#26476)
(cherry picked from commit c0b57bd1c3)
2024-02-01 14:53:00 -05:00
JUST.in DO ITandMichael S. Molina 6cdaf479f2 fix(sqllab): autosync fail on migrated queryEditor (#26922) 2024-01-31 15:17:09 -05:00
Michael S. MolinaandMichael S. Molina d184fd9bf8 fix(time-series table): Can't compare from the beginning of the time range (#26814)
(cherry picked from commit 1f6c270f15)
2024-01-26 16:11:02 -05:00
Vitor AvilaandMichael S. Molina 84f0d74890 fix(tags): Filter system tags from the tags list (#26701)
(cherry picked from commit 4f56f5ee84)
2024-01-26 16:11:02 -05:00
Michael S. MolinaandMichael S. Molina 91399b1391 fix: Row limit hardcoded (#26807)
(cherry picked from commit 5e633d2bb0)
2024-01-26 16:11:02 -05:00
Denis KrivenkoandMichael S. Molina 2f9572c367 feat(helm): Upgrade default Superset version to 3.1.0 (#26707) 2024-01-25 10:00:25 -05:00
debe7811d0 fix: helm chart comment on SECRET_KEY (#26674)
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2024-01-25 09:50:07 -05:00
Maxime BeaucheminandMichael S. Molina 72ad551d1e fix(import): only import FORMULA annotations (#26652) 2024-01-25 09:48:51 -05:00
John BodleyandMichael S. Molina 33d8f72f91 fix(logging): Filter out undefined columns (#26314)
(cherry picked from commit 01fdfbee09)
2024-01-25 09:47:36 -05:00
Vitor AvilaandMichael S. Molina 519f7704ef fix(BigQuery): Support special characters in column/metric names used in ORDER BY (#26461)
(cherry picked from commit 4592dd13fa)
2024-01-25 09:47:35 -05:00
Vitor AvilaandMichael S. Molina 1273f72f94 fix(db2): Improving support for ibm db2 connections (#26744)
(cherry picked from commit 5eb4e82d27)
2024-01-25 09:47:35 -05:00
Vitor AvilaandMichael S. Molina 51ca5fa049 fix(legacy-charts): Show Time Grain control for legacy charts (#26705)
(cherry picked from commit 3ed70d8f53)
2024-01-25 09:47:35 -05:00
Evan RusackasandMichael S. Molina 24567a57a5 fix: do not use lodash/memoize (#26709)
(cherry picked from commit ef4878b845)
2024-01-25 09:47:35 -05:00
Pieter EnnesandMichael S. Molina 224c3a1b3d fix: Catch ImportErrors for Google SDKs (#25550)
(cherry picked from commit effd73f2cc)
2024-01-25 09:47:34 -05:00
Linghao WangandMichael S. Molina 8fa8ae68b2 fix(translation): correct translation errors for Chinese(zh) (#26645)
Signed-off-by: Waterkin <1055905911@qq.com>
(cherry picked from commit 8539dfd0ba)
2024-01-25 09:47:34 -05:00
Igor KhrolandMichael S. Molina 1b41307b9a fix: Avoid 500 if end users write bad SQL (#26638)
(cherry picked from commit 80a6e25a98)
2024-01-18 13:52:01 -03:00
Daniel Vaz GasparandMichael S. Molina ecd0eba2d3 fix: unnecessary logic on CI ephemeral (#26644)
(cherry picked from commit 6a4043d0f0)
2024-01-18 13:52:01 -03:00
Daniel Vaz GasparandMichael S. Molina 0c569108da fix: create virtual dataset validation (#26625)
(cherry picked from commit 8e19f59dd2)
2024-01-18 13:52:01 -03:00
GeidoandMichael S. Molina c2cd05ee4a fix: RLS modal styling (#26634)
(cherry picked from commit 820f4b9cf0)
2024-01-18 13:52:01 -03:00
Beto DealmeidaandMichael S. Molina 36846e9c2b fix(database): allow filtering by UUID (#26469)
(cherry picked from commit e36c014290)
2024-01-18 13:52:01 -03:00
Vitor AvilaandMichael S. Molina 3fe4d68b75 fix(embedded): Hide dashboard fullscreen option for embedded context (#26412)
(cherry picked from commit 494068b632)
2024-01-18 13:52:01 -03:00
Igor KhrolandMichael S. Molina 66dd7f5dc5 fix: Trino - handle table not found in SQLLab (#26355)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
(cherry picked from commit 3daa038f5f)
2024-01-18 13:52:01 -03:00
Ville BrofeldtandMichael S. Molina a044d38181 chore: bump prophet to 1.1.5 (#26431)
(cherry picked from commit a1993566c4)
2024-01-18 13:52:01 -03:00
Michael S. Molina 3de71e25e8 chore: Adds 3.1.0 RC4 data to CHANGELOG.md 2024-01-09 11:20:26 -03:00
Ville BrofeldtandMichael S. Molina c8c8136ac3 fix(post-processing): handle missing values in cumulative operator (#26429)
(cherry picked from commit ff025b78f3)
2024-01-09 09:26:01 -03:00
Xuebin ZhangandMichael S. Molina 8db06b4cb2 fix(translations): Clear all (#26424)
(cherry picked from commit 4c2e818cd3)
2024-01-09 09:26:01 -03:00
Ville BrofeldtandMichael S. Molina 136c0e3b4a fix(plugin-chart-echarts): support forced categorical x-axis (#26404)
(cherry picked from commit 219c4a14b3)
2024-01-09 09:26:01 -03:00
Siva SathyaseelanandMichael S. Molina 1daab2731d fix: In chart gallery thumbnail is rendered in case of no example in #16707 (#26415)
(cherry picked from commit 6d58566779)
2024-01-09 09:26:01 -03:00
Sonia GautamandMichael S. Molina ed29c5b855 fix(chart): Resolve incorrect column customization when switching metrics in table chart (#26393)
Co-authored-by: Sonia <sonia.gautam@agoda.com>
(cherry picked from commit dfde2adf27)
2024-01-09 09:26:01 -03:00
Guen PrawiroatmodjoandMichael S. Molina faad565fab fix(sqllab): Bump duckdb-engine version to 0.9.5 (#26405)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
(cherry picked from commit bba1b14bf0)
2024-01-09 09:26:01 -03:00
JUST.in DO ITandMichael S. Molina 0e85a43acf fix(dashboard): narrow empty drop area (#26313)
(cherry picked from commit 300ddaedf9)
2024-01-09 09:26:01 -03:00
Siva SathyaseelanandMichael S. Molina 802dc24a76 fix(dashboard): Chart menu disable is fixed on chart-fullscreen in issue #25992 (#26410)
(cherry picked from commit d0ffe9af7c)
2024-01-09 09:26:00 -03:00
Michael S. MolinaandMichael S. Molina bd195893af fix: Reactivates native filters E2E tests (#26362)
(cherry picked from commit 6f6c37ec26)
2024-01-09 09:26:00 -03:00
Boris StrelchikandMichael S. Molina 79e7f2732d fix(embed): an error occurred while rendering the visualization: error: Item with key ... is not registered. (#26398)
(cherry picked from commit 9ffcd6410e)
2024-01-09 09:26:00 -03:00
Irina ShebarshinaandMichael S. Molina d356d83bf6 fix(SelectControl): select zero value (#26353)
(cherry picked from commit a0f0f698f4)
2024-01-09 09:26:00 -03:00
Michael S. MolinaandMichael S. Molina ac7d281e8a fix: Removes non-existent columns in the 2018 FCC Survey dataset (#26380)
(cherry picked from commit 77f58fc8fa)
2024-01-09 09:26:00 -03:00
François TravaisandMichael S. Molina f6803f628c feat(deckgl-map): use an arbitraty Mabpox style URL (#26027) (#26031)
Signed-off-by: François Travais <francois.travais@solinum.org>
2024-01-09 09:25:31 -03:00
Michael S. MolinaandMichael S. Molina 28c518e578 fix: Invalid references in the basic template (#26302)
(cherry picked from commit 9432bd88f5)
2024-01-03 13:33:24 -03:00
Willie HungandMichael S. Molina c520cf463e chore: Add example charts for deck.gl (#25770)
Signed-off-by: Willie Hung <willie880201044@gmail.com>
(cherry picked from commit 113a8a381c)
2024-01-03 13:33:24 -03:00
Michael S. MolinaandMichael S. Molina 5d49100a22 fix: Duplicated plugin registration (#26379)
(cherry picked from commit 29633e7d8c)
2024-01-03 13:33:24 -03:00
JeremyandMichael S. Molina 76e2388656 fix(databend): databend time grain expression (#26378)
(cherry picked from commit 3a0391bbb9)
2024-01-03 13:33:24 -03:00
3dad685b6e fix(chart): Set max row limit + removed the option to use an empty row limit value (#26151)
Co-authored-by: Lily Kuang <lily@preset.io>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-12-27 09:30:47 -03:00
Vitor AvilaandMichael S. Molina 1c77945980 chore(Embedded): Avoid creating a filter key for guest users (#26312)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
(cherry picked from commit fe9fbadade)
2023-12-27 09:24:52 -03:00
John BodleyandMichael S. Molina 5249815fbf fix(logging): Add logging of change_dashboard_filter event for native dashboard filters (#26333)
(cherry picked from commit 5f5a656835)
2023-12-27 09:24:52 -03:00
arunandMichael S. Molina b1b2b57df2 fix(accessibility): Enable tabbing on sort header of table chart (#26326)
(cherry picked from commit b6d433de32)
2023-12-27 09:24:52 -03:00
Lily KuangandMichael S. Molina 4a8727d8d0 fix(tagging): adding tags containing a “:” to dashboards (#26324)
will add more tests in a separated PR

(cherry picked from commit 3391e29093)
2023-12-27 09:24:52 -03:00
Kamil GabryjelskiandMichael S. Molina 7b969c9450 fix(dashboard): Don't switch to first tab when directPathToChild changes (#26340)
(cherry picked from commit 39ac45351b)
2023-12-27 09:24:52 -03:00
Michael S. MolinaandMichael S. Molina 5b6e9abf00 chore: Adds a tooltip for the alert's SQL input (#26317)
(cherry picked from commit 5bd7fd7990)
2023-12-27 09:24:52 -03:00
Kamil GabryjelskiandMichael S. Molina ba4319472d chore: Add downloadAsImage types, change filter selector (#26297)
(cherry picked from commit 5e85f5c81f)
2023-12-27 09:24:52 -03:00
gaurav7261andMichael S. Molina c19447ee88 fix(redshift): convert_dttm method for redshift dataset and tests (#26283)
Co-authored-by: GauravM <gaurav@ip-192-168-0-100.ap-south-1.compute.internal>
(cherry picked from commit 60abf7e2af)
2023-12-27 09:24:51 -03:00
Guen PrawiroatmodjoandMichael S. Molina 57155fdfc7 fix(sql lab): Use quote_schema instead of quote method to format schema name (#26281)
(cherry picked from commit 9d3796828c)
2023-12-27 09:24:51 -03:00
Kamil GabryjelskiandMichael S. Molina b5cb3ec13c chore: Use WEBDRIVER_OPTION_ARGS with Playwright (#26315)
(cherry picked from commit 3f9183a162)
2023-12-27 09:24:51 -03:00
Michael S. MolinaandMichael S. Molina 9c109700ff chore: Disables minor ticks by default (#26310)
(cherry picked from commit eb65cea971)
2023-12-27 09:24:51 -03:00
Elizabeth ThompsonandMichael S. Molina ba9eef0407 chore: update changelog for 2.1.3 (#26287) 2023-12-27 09:24:34 -03:00
GnoughtandMichael S. Molina dd68c6e2e5 fix(typings): model_id is a multiple option (#25967)
(cherry picked from commit 04f1c356a5)
2023-12-27 09:22:21 -03:00
Michael S. Molina 31bb9a690a chore: Adds 3.1.0 RC3 data to CHANGELOG.md 2023-12-18 11:27:43 -03:00
JUST.in DO ITandMichael S. Molina 9632014402 fix: Revert "fix(sqllab): flaky json explore modal due to over-rendering (#26156)" (#26284)
(cherry picked from commit 8450cca998)
2023-12-18 11:10:19 -03:00
Michael S. MolinaandMichael S. Molina 103d23781b fix: Cannot expand initially hidden SQL Lab tab (#26279)
(cherry picked from commit aa3c3c5aaa)
2023-12-15 16:26:44 -03:00
Ville BrofeldtandMichael S. Molina 4d0404119c fix(plugin-chart-echarts): use scale for truncating x-axis (#26269)
(cherry picked from commit 67468c46c0)
2023-12-15 16:26:44 -03:00
Michael S. MolinaandMichael S. Molina dbc779f30a fix: Stacked charts with numerical columns (#26264)
(cherry picked from commit 429e2a33c3)
2023-12-15 16:26:44 -03:00
Daniel Vaz GasparandMichael S. Molina 3d7b827d79 chore: improve CSP add base uri restriction (#26251)
(cherry picked from commit 578a899152)
2023-12-15 16:26:44 -03:00
Ville BrofeldtandMichael S. Molina 0ac833d0c5 fix(plugin-chart-echarts): undefined bounds for bubble chart (#26243)
(cherry picked from commit 5df544b6fb)
2023-12-15 16:26:44 -03:00
Michael S. Molina 2dc29cee9a chore: Adds 3.1.0 RC2 data to CHANGELOG.md and UPDATING.md 2023-12-11 14:15:23 -03:00
cwegenerandMichael S. Molina be81aaa31a fix: bump pyarrow constraints (CVE-2023-47248) (#26187)
(cherry picked from commit 2ac28927a3)
2023-12-11 13:28:46 -03:00
JeremyandMichael S. Molina 8185ac3e33 chore: lock the databend-sqlalchemy version (#26082)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
(cherry picked from commit fca5b829df)
2023-12-11 13:26:55 -03:00
Michael S. MolinaandMichael S. Molina 463989dbc9 chore: Moves xAxisLabelRotation to shared controls (#26212)
(cherry picked from commit 005cf5947b)
2023-12-11 13:26:55 -03:00
Kamil GabryjelskiandMichael S. Molina 38b8b03f90 fix: Use page.locator in Playwright reports (#26224)
(cherry picked from commit dbed64a2c6)
2023-12-11 13:26:55 -03:00
Ville BrofeldtandMichael S. Molina d0961d0ed8 fix(plugin-chart-echarts): support truncated numeric x-axis (#26215)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
(cherry picked from commit 07e5fe8a66)
2023-12-08 11:14:18 -03:00
Vitor AvilaandMichael S. Molina b699df7030 fix(chart-filter): Avoid column denormalization if not enabled (#26199)
(cherry picked from commit 05d7060d83)
2023-12-08 11:14:18 -03:00
Ville BrofeldtandMichael S. Molina c2612d8c26 fix: support custom links in markdown (#26211)
(cherry picked from commit d2adc858cb)
2023-12-08 11:14:18 -03:00
ʈᵃᵢandMichael S. Molina ec0a338aa3 fix(dashboard): use textContent to render hidden title (#26189)
(cherry picked from commit 88fb342887)
2023-12-08 11:14:18 -03:00
Michael S. MolinaandMichael S. Molina 6fa75b7047 chore: Adds note about numerical x-axis (#26208)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
(cherry picked from commit b4a35e624b)
2023-12-08 11:14:18 -03:00
JUST.in DO ITandMichael S. Molina 77c73b63db fix(sqllab): flaky json explore modal due to over-rendering (#26156)
(cherry picked from commit f30f685eb5)
2023-12-08 11:14:18 -03:00
Michael S. MolinaandMichael S. Molina fb50819fcd fix: Includes 90° x-axis label rotation (#26207)
(cherry picked from commit 39c6488463)
2023-12-08 11:14:18 -03:00
Jack FragassiandMichael S. Molina 5c24c580dd chore: Lower giveup log level for retried functions to warning (#26188)
(cherry picked from commit bf5b18ccb1)
2023-12-08 11:14:17 -03:00
Suma Goud BandMichael S. Molina 2104a9a853 fix(init-job): Fix envFrom for init job in helm chart (#26157)
(cherry picked from commit 4d4b19e8ba)
2023-12-08 11:14:17 -03:00
Jack FragassiandMichael S. Molina 0925d75dfa fix(embedded): Hide sensitive payload data from guest users (#25878)
(cherry picked from commit 386d4e0541)
2023-12-08 11:14:17 -03:00
JUST.in DO ITandMichael S. Molina 96c0497fa9 fix(menu): Styling active menu in SPA navigation (#25533)
(cherry picked from commit 86304ab171)
2023-12-08 11:14:17 -03:00
Ville BrofeldtandMichael S. Molina 5bcd3ef17e chore: harmonize and clean up list views (#25961)
(cherry picked from commit 0b477e3f7c)
2023-12-04 18:05:22 -03:00
Michael S. MolinaandMichael S. Molina 5ec1edc876 chore: Clean up the examples dashboards (#26158)
(cherry picked from commit 3ab27c6ec9)
2023-12-04 18:05:22 -03:00
John BodleyandMichael S. Molina aaa50c4b4a fix: Migration order due to cherry which went astray (#26160)
(cherry picked from commit 8644b1a319)
2023-12-04 18:05:22 -03:00
Ross MabbettandMichael S. Molina 880086c750 fix(Alerts/Reports): allow use of ";" separator in slack recipient entry (#25894)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
(cherry picked from commit b7a9c220e1)
2023-12-04 18:05:21 -03:00
JUST.in DO ITandMichael S. Molina d0aa34bf79 fix(sqllab): table preview has gone (#25977)
(cherry picked from commit cdbbd83705)
2023-12-04 18:05:21 -03:00
Vitor AvilaandMichael S. Molina 77332bfb38 fix(database-import): Support importing a DB connection with a version set (#26116)
(cherry picked from commit c033ca959d)
2023-12-04 18:05:21 -03:00
Beto DealmeidaandMichael S. Molina ceac19fa2f fix: set label on adhoc column should persist (#26154)
(cherry picked from commit b2ea97a984)
2023-12-04 18:05:21 -03:00
Michael S. MolinaandMichael S. Molina 79d5975028 feat: Adds legacy time support for Waterfall chart (#26136)
(cherry picked from commit f405ba033e)
2023-12-04 18:05:21 -03:00
Tom MurphyandMichael S. Molina 4a4f9983df feat(helm): Add option to deploy extra containers to remaining deployments (#26123)
(cherry picked from commit 4f00404805)
2023-12-04 18:05:21 -03:00
Beto DealmeidaandMichael S. Molina 26e59662fb fix(annotations): time grain column (#26140)
(cherry picked from commit cff473f825)
2023-12-04 18:05:21 -03:00
Kamil GabryjelskiandMichael S. Molina fad4616d2f chore: Rename SET_ACTIVE_TABS action, add a new action (#26147)
(cherry picked from commit d00c17dde2)
2023-12-04 18:05:21 -03:00
Hugh A. Miles IIandMichael S. Molina 2c3bf2895f chore(tags): Allow for lookup via ids vs. name in the API (#25996)
(cherry picked from commit ee308fbc64)
2023-12-04 18:05:21 -03:00
Daniel Vaz GasparandMichael S. Molina 93319696de fix: remove default secret key from helm (#23916)
(cherry picked from commit 6a5a765689)
2023-12-04 18:05:21 -03:00
GnoughtandMichael S. Molina e382d0dd28 chore(deps): bump pillow deps (#25931)
(cherry picked from commit a27a0df1a4)
2023-12-04 18:05:21 -03:00
Beto DealmeidaandMichael S. Molina f4fd0e19e2 fix: alias column when fetching values (#26120)
(cherry picked from commit 7223633da6)
2023-12-04 18:05:20 -03:00
Michael S. Molina c8844bdd5e chore: Adds 3.1.0 data to CHANGELOG.md and UPDATING.md 2023-11-28 11:50:54 -03:00
Michael S. MolinaandGitHub 849ca64ba8 chore: Adds the 3.1.0 Release Notes (#26058) 2023-11-28 11:31:48 -03:00
Ville BrofeldtandGitHub 91a8b69d36 fix: flaky test_explore_json_async test v2 (#26106) 2023-11-28 10:21:13 -03:00
Amrit RajandGitHub d20f96f8d0 docs(databases): Update pinot.mdx to incorporate username and password based connection. (#26000) 2023-11-27 15:28:49 -05:00
Daniel Vaz GasparandGitHub 4fc2758e6a fix: bump node-fetch to 2.6.7 (#26091) 2023-11-27 09:23:52 +00:00
Ville BrofeldtandGitHub aad67e43db fix(plugin-chart-echarts): support numerical x-axis (#26087) 2023-11-24 07:36:32 -08:00
Michael S. MolinaandGitHub 57d61df44d chore: Adds 3.0.2 data to CHANGELOG.md (#26075) 2023-11-22 17:25:14 -03:00
John BodleyandGitHub 07bcfa9b5f chore(command): Organize Commands according to SIP-92 (#25850) 2023-11-22 16:55:54 -03:00
Michael S. MolinaandGitHub 984c278c4c chore: Updates Announce template to include CHANGELOG.md and UPDATING.md files (#26073) 2023-11-22 09:52:36 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b1f521263d build(deps-dev): bump @types/node from 20.9.3 to 20.9.4 in /superset-websocket (#26064)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-22 09:48:25 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fef82789b1 build(deps): bump @types/lodash from 4.14.201 to 4.14.202 in /superset-websocket (#26063)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-22 09:48:01 -08:00
Rob MooreandGitHub 6359086779 fix: move driver import to method (#26066) 2023-11-22 10:49:01 -05:00
2b88225ee1 fix: Flaky test_explore_json_async test (#26059)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-22 09:11:09 -03:00
John BodleyandGitHub 843c7ab58a chore: Allow only iterables for BaseDAO.delete() (#25844) 2023-11-22 08:52:30 -03:00
260d561b9a docs: update security policy and contributing (#25917)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-11-22 10:31:32 +00:00
Jack FragassiandGitHub 630734b908 fix: Prevent cached bootstrap data from leaking between users w/ same first/last name (#26023) 2023-11-21 15:39:42 -08:00
John BodleyandGitHub bd8951e958 fix: Optimize fetching samples logic (#26060) 2023-11-21 13:26:02 -08:00
97121465dd feat: Add Apache Doris support (#24714)
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-11-21 12:42:10 -07:00
John BodleyandGitHub 07551dc3d4 chore(connector): Cleanup base models and views according to SIP-92 (#24773) 2023-11-21 10:11:50 -08:00
68e5e1afea feat: Add Bubble chart migration logic (#26033)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-21 15:05:41 -03:00
Sam FirkeandGitHub f934278fef docs(intro): fix a single broken link (BugHerd #97) (#26039) 2023-11-21 09:54:16 -07:00
aehannoandGitHub 25a737e83c fix: Remove annotation Fuzzy to get french translation (#26010) 2023-11-21 09:53:26 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9452664079 build(deps-dev): bump @types/node from 20.9.1 to 20.9.3 in /superset-websocket (#26049)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 09:52:00 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
adb86d35ec build(deps-dev): bump @types/ws from 8.5.9 to 8.5.10 in /superset-websocket (#26048)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-21 09:51:42 -07:00
Beto DealmeidaandGitHub f99c874962 feat(metadb): handle decimals (#25921) 2023-11-21 11:36:31 -05:00
Beto DealmeidaandGitHub fbc66a8177 chore: bump shillelagh (#26043) 2023-11-21 09:48:39 -05:00
Kamil GabryjelskiandGitHub b5e7e707b3 chore: Allow external extensions to include their own package.json files (#26004) 2023-11-21 15:43:50 +01:00
Evan RusackasandGitHub 1af5fbbd6a docs(BH#109): Athena URI spec fix (#26044) 2023-11-21 09:12:50 -05:00
Sam FirkeandGitHub bba7763825 fix(security): restore default value of SESSION_COOKIE_SECURE to False (#26005) 2023-11-21 09:10:56 -05:00
John BodleyandGitHub dd58b31cc4 chore(sqlalchemy): Remove erroneous SQLAlchemy ORM session.merge operations (#24776) 2023-11-20 17:25:41 -08:00
e7797b65d1 fix(horizontal filter bar filter labels): Increase max-width to 96px (#25883)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-11-20 11:24:02 -08:00
e2bfb1216b feat(sqllab): non-blocking persistence mode (#24539)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-11-20 11:13:54 -08:00
Daniel Vaz GasparandGitHub 628cd345f2 fix: update FAB to 4.3.10, Azure user info fix (#26037) 2023-11-20 16:02:30 -03:00
JUST.in DO ITandGitHub e1d73d5420 fix(native filters): rendering performance improvement by reduce overrendering (#25901) 2023-11-20 10:01:56 -08:00
Sebastian LiebscherandGitHub 92ac6b2c15 feat(sqllab): Show duration as separate column in Query History view (#25861) 2023-11-20 10:59:43 -07:00
Rob MooreandGitHub 8d73ab9955 feat(sqllab): TRINO_EXPAND_ROWS: expand columns from ROWs (#25809) 2023-11-20 10:59:10 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
411dba240b build(deps-dev): bump eslint from 8.53.0 to 8.54.0 in /superset-websocket (#26025)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-20 09:51:11 -08:00
GnoughtandGitHub 2499a1cf5a chore: cleanup unused code in pandas 2.0+ (#26013) 2023-11-18 19:17:15 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5942d8bf68 build(deps-dev): bump @types/node from 20.9.0 to 20.9.1 in /superset-websocket (#26012)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-17 09:51:09 -08:00
John BodleyandGitHub bece2ea3e4 chore: Remove unnecessary autoflush from tagging and key/value workflows (#26009) 2023-11-16 19:04:04 -08:00
John BodleyandGitHub 326ac4a6c4 chore: Optimize fetching samples logic (#25995) 2023-11-16 15:42:39 -08:00
JUST.in DO ITandGitHub e7a1876807 fix(explore): redandant force param (#25985) 2023-11-16 12:58:06 -08:00
Jack FragassiandGitHub 5fccf67cdc fix: Make Select component fire onChange listener when a selection is pasted in (#25993) 2023-11-16 21:06:05 +01:00
yousophandGitHub 210f1f8f95 fix(rls): Update text from tables to datasets in RLS modal (#25997) 2023-11-16 09:48:54 -08:00
Michael S. MolinaandGitHub 97d89d7340 feat: Adds Area chart migration logic (#25952) 2023-11-16 14:28:09 -03:00
7f0c3b20ad docs: handling "System limit for number of file watchers reached" error (#25551)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-11-16 11:00:42 -05:00
Sebastian LiebscherandGitHub d20b60edd4 chore: Remove more redundant code in utils/core (#25986) 2023-11-15 15:42:48 -08:00
Hugh A. Miles IIandGitHub aee94b39ba fix(tag): update state to clear form on success (#25934) 2023-11-15 18:05:18 -05:00
Priyanshu BartwalandGitHub 63b8172321 style: Transition of Navbar from dark to light and vice-versa is now smooth (#24485) 2023-11-15 12:41:12 -07:00
jdclarke5andGitHub f22ae2dc51 docs: add Tentacle to users list (#25059) 2023-11-15 12:39:17 -07:00
josedev-unionandGitHub 5e1c4057a0 fix(helm): Restart all related deployments when bootstrap script changed (#25703) 2023-11-15 12:38:54 -07:00
JUST.in DO ITandGitHub f18fb24b3d fix(sqllab): Allow router navigation to explore (#25941) 2023-11-14 10:27:44 -08:00
Rob MooreandGitHub f6ba75a185 feat(explore): dataset macro: dttm filter context (#25950) 2023-11-14 09:16:42 -08:00
Kamil GabryjelskiandGitHub 6b7761ecf2 chore: Add entry point for SliceHeader frontend extension (#25968) 2023-11-14 16:29:16 +01:00
Daniel Vaz GasparandGitHub 007d22199d chore: support different JWT CSRF cookie names (#25891) 2023-11-14 14:01:08 +00:00
Hugh A. Miles IIandGitHub 5def416f63 fix: naming denomalized to denormalized in helpers.py (#25973) 2023-11-13 18:46:09 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
99d4f8931a build(deps-dev): bump axios from 0.25.0 to 1.6.0 in /superset-embedded-sdk (#25953)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 12:39:52 -07:00
John BodleyandGitHub 6d8424c104 chore(colors): Updating Airbnb brand colors (#23619) 2023-11-13 11:25:14 -08:00
Hugh A. Miles IIandGitHub 8d8e1bb637 fix: always denorm column value before querying values (#25919) 2023-11-13 13:18:28 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
943696a87f build(deps-dev): bump @types/jsonwebtoken from 9.0.4 to 9.0.5 in /superset-websocket (#25927)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 10:42:46 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3bff1a00b6 build(deps-dev): bump @types/uuid from 9.0.6 to 9.0.7 in /superset-websocket (#25929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 10:42:32 -07:00
Sebastian LiebscherandGitHub c3249dd97d test: Reduce flaky integration tests triggered by test_get_tag (#25958) 2023-11-13 08:40:52 -08:00
Sebastian LiebscherandGitHub b430b5a172 chore: Simplify views/base (#25948) 2023-11-12 12:11:19 -08:00
d95c200e69 fix: update flask-caching to avoid breaking redis cache, solves #25339 (#25947)
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2023-11-10 20:13:50 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
478ca904ae build(deps): bump axios from 1.4.0 to 1.6.1 in /superset-frontend (#25951)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-10 09:59:09 -08:00
84a894c2c7 chore(issue template): attempting to fix two entries/links (#25881)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-11-09 16:49:23 -07:00
Evan RusackasandGitHub b6fb36f22b chore: removing unused chartMetadata field (#25926) 2023-11-09 15:57:46 -07:00
Michael S. MolinaandGitHub 83b7fa92af feat: Adds Line chart migration logic (#23973) 2023-11-09 15:16:07 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
33d8078a83 build(deps-dev): bump @types/node from 20.8.10 to 20.9.0 in /superset-websocket (#25928)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-09 09:57:37 -08:00
JUST.in DO ITandGitHub 581d3c7108 fix(sqllab): invalid sanitization on comparison symbol (#25903) 2023-11-09 09:26:21 -08:00
John BodleyandGitHub 10205d0b50 chore: Singularize tag models (#25819) 2023-11-09 08:22:08 -08:00
koushik-rout-samsungandGitHub a698587e8c docs: Remove Python 3.8 from CONTRIBUTING.md (#25885) 2023-11-09 00:12:49 -07:00
Beto DealmeidaandGitHub 2bd611916d feat: safer insert RLS (#20323) 2023-11-08 22:52:25 -05:00
Sebastian LiebscherandGitHub 90e210892b chore: Simplify utils/cache by using default argument values (#25900) 2023-11-08 12:57:40 -08:00
Sebastian LiebscherandGitHub e03691917b chore: remove unused functions in utils/core (#25912) 2023-11-08 12:53:20 -08:00
John BodleyandGitHub 784a478268 fix(table): Double percenting ad-hoc percentage metrics (#25857) 2023-11-08 12:22:00 -08:00
458be8c848 fix(trino): allow impersonate_user flag to be imported (#25872)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-08 12:00:18 -08:00
GnoughtandGitHub b0da5cef70 chore: remove deprecated functions in SQLAlchemy (#25911) 2023-11-08 11:56:38 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6f92007a85 build(deps): bump @types/lodash from 4.14.200 to 4.14.201 in /superset-websocket (#25907)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 11:24:51 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4402f5c5cd build(deps-dev): bump @types/ws from 8.5.7 to 8.5.9 in /superset-websocket (#25906)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 11:24:23 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a97bf6494e build(deps-dev): bump @types/cookie from 0.5.3 to 0.5.4 in /superset-websocket (#25905)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 11:24:03 -07:00
Beto DealmeidaandGitHub cdb18e04ff fix: trino cursor (#25897) 2023-11-08 07:38:38 -05:00
Beto DealmeidaandGitHub 06ffcd29e2 fix: database version field (#25898) 2023-11-07 20:55:03 -05:00
Elizabeth ThompsonandGitHub 1d0b86ae94 chore: add more migration tests (#25262) 2023-11-07 17:06:23 -08:00
Beto DealmeidaandGitHub 80caba3fd1 feat: method for dynamic allows_alias_in_select (#25882) 2023-11-07 14:28:28 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3ee22667a7 build(deps): bump cookie from 0.5.0 to 0.6.0 in /superset-websocket (#25886)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-07 09:58:38 -08:00
Dan KeeleyandGitHub d6fde3cdd5 chore: Update INTHEWILD.md (#25714) 2023-11-06 13:04:44 -07:00
nero5700andGitHub 5e5a9c601f fix(typo): replace 'datasouce_id' with 'datasource_id' in openapi.json (#25875) 2023-11-06 13:02:27 -07:00
Kamil GabryjelskiandGitHub 268c1dcdad fix: Saving Mixed Chart with dashboard filter applied breaks adhoc_filter_b (#25877) 2023-11-06 19:52:27 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
887be5dd32 build(deps-dev): bump eslint from 8.52.0 to 8.53.0 in /superset-websocket (#25867)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 09:53:08 -08:00
Antonio RiveroandGitHub 7536dd12cd fix(charts): Time grain is None when dataset uses Jinja (#25842) 2023-11-06 09:51:28 -08:00
Lily KuangandGitHub 30cd422331 fix(tagging): change key from name to id for tagToSelectOption (#25856) 2023-11-06 09:44:05 -08:00
Rob MooreandGitHub fb35bac070 feat(sqllab): Dynamic query limit dropdown (#25855) 2023-11-06 08:34:17 -08:00
ArkoandGitHub 916f7bcbba fix(table chart): Show Cell Bars correctly #25625 (#25707) 2023-11-06 08:36:21 -03:00
80cf710dbe fix: add validation on tag name to have name + onDelete refresh list view (#25831)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-11-04 10:09:54 -04:00
Beto DealmeidaandGitHub 60e1526f6a fix: remove update_charts_owners (#25843) 2023-11-03 13:06:31 -04:00
ae619b169c fix: the temporal x-axis results in a none time_range. (#25429)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-11-03 09:57:47 -07:00
JUST.in DO ITandGitHub 24a2213445 feat(sqllab): Format sql (#25344) 2023-11-03 09:38:11 -07:00
Michael S. MolinaandGitHub d619078d25 feat: Improves the Waterfall chart (#25557) 2023-11-03 13:24:15 -03:00
Michael S. MolinaandGitHub 8061d5cce9 fix: Fires onChange when clearing all values of single select (#25853) 2023-11-03 10:35:43 -03:00
Michael S. MolinaandGitHub ff8bc3c426 chore: Updates Databend image extension reference in README.md (#25852) 2023-11-03 09:47:18 -03:00
JeremyandGitHub c3f3ec56d6 fix: databend png pic (#25851) 2023-11-03 08:49:33 -03:00
508721bd97 docs: Update location of async_query_manager.py (#25531)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-02 15:22:44 -04:00
JeremyandGitHub 5690946b1a feat: support databend for superset (#23308) 2023-11-02 12:00:11 -07:00
Rob MooreandGitHub b58cc24bd4 chore(docker-compose): more host network specifiers (#25817) 2023-11-02 10:39:45 -07:00
Michael S. MolinaandGitHub aaf7d6b7e4 chore: Removes border of the color picker control (#25812) 2023-11-02 11:02:47 -03:00
Craig RuedaandGitHub 6ace22da87 chore(websocket): Adding support for redis username in websocket server (#25826) 2023-11-01 16:52:14 -07:00
Evan RusackasandGitHub a3686459a9 chore: Update sip.md to have a better call to action (#25822) 2023-11-01 12:37:21 -06:00
a249e418b3 chore(issues): config.yaml added with feature request link to open a discussion (#25823)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-11-01 12:37:10 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f265b2c1ae build(deps-dev): bump @types/node from 20.8.7 to 20.8.10 in /superset-websocket (#25816)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 11:35:48 -07:00
toliver-chandGitHub e1eb985aa8 docs: Add Cyberhaven to Users list (#25530) 2023-11-01 08:25:40 -07:00
JUST.in DO ITandGitHub 3f28eebb20 fix(sqllab): infinite fetching status after results are landed (#25814) 2023-11-01 09:03:03 -03:00
John BodleyandGitHub 1e37f0b417 chore(celery): Cleanup config and async query specifications (#25314) 2023-10-31 10:17:51 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2177a50c7a build(deps): bump browserify-sign from 4.2.1 to 4.2.2 in /superset-frontend (#25778)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 10:23:58 -06:00
Ross MabbettandGitHub 1eba7121aa fix(SQL field in edit dataset modal): display full sql query (#25768) 2023-10-31 10:23:44 -06:00
Daniel Vaz GasparandGitHub d2f511abba feat: support server-side sessions (#25795) 2023-10-31 16:05:18 +00:00
John BodleyandGitHub 8737a8a546 fix: Resolve issue #24195 (#25804) 2023-10-31 08:24:41 -07:00
John BodleyandGitHub 7804d1451e chore(security): Make get_database_perm/get_dataset_perm return optional (#24046) 2023-10-31 08:23:42 -07:00
John BodleyandGitHub ae703b48fc fix: Revert "fix: Apply normalization to all dttm columns (#25147)" (#25801) 2023-10-31 10:21:47 -03:00
Tom MurphyandGitHub 5e6d05b3fd fix(helm): Fix init extra containers (#25803) 2023-10-31 12:12:31 +00:00
Tom MurphyandGitHub 0f01d9b08f feat(helm): Add option to deploy extra containers to init job (#25783) 2023-10-30 19:19:55 -07:00
JackandGitHub 74dbada473 feat(Export as PDF - rasterized): Adding rasterized pdf functionality to dashboard (#25696) 2023-10-30 21:54:33 -04:00
Beto DealmeidaandGitHub 5659c87ed2 fix: DB-specific quoting in Jinja macro (#25779) 2023-10-30 09:50:44 -04:00
Elizabeth ThompsonandGitHub ed14f36c55 fix: allow for backward compatible errors (#25640) 2023-10-27 11:04:33 -07:00
Kamil GabryjelskiandGitHub bda43ac0f6 chore: Add config options for Playwright wait_until and default timeout (#25765) 2023-10-27 10:37:32 +02:00
JUST.in DO ITandGitHub 2a2bc82a8b fix(sqllab): slow pop datasource query (#25741) 2023-10-26 12:44:41 -07:00
Beto DealmeidaandGitHub c7f8d11a7e fix: dataset update uniqueness (#25756) 2023-10-25 16:49:32 -04:00
AndyandGitHub cee8532733 fix(README): mismatched picture tags (#25739) 2023-10-25 12:44:44 -06:00
GeidoandGitHub e2fe967788 fix: Revert "fix(Charts): Set max row limit + removed the option to use an empty row limit value" (#25753) 2023-10-25 15:39:49 +03:00
Bipin Chandra TripathiandGitHub 27a06f57e1 style(readme): reformatted (#25721) 2023-10-24 09:32:24 -06:00
GnoughtandGitHub 419d122816 chore: bump pymssql version (#25737) 2023-10-23 21:53:00 -07:00
Craig RuedaandGitHub 861ee8b3c6 chore(websocket): [WIP] Making JWT algos configurable (#25521) 2023-10-23 11:28:41 -07:00
Ross MabbettandGitHub e4173d90c8 fix(horizontal filter label): show full tooltip with ellipsis (#25732) 2023-10-23 09:51:48 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cbbf2bed6e build(deps-dev): bump eslint from 8.51.0 to 8.52.0 in /superset-websocket (#25735)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 09:50:02 -07:00
Zef LinandGitHub 4aef771072 chore: updated base DAO find_by_id to return generic type (#25726) 2023-10-23 07:46:01 -07:00
Beto DealmeidaandGitHub ed87470bcc fix(metadb): handle durations (#25727) 2023-10-20 17:46:57 -04:00
Evan RusackasandGitHub 4ac8f826f2 fix(driver): bumping DuckDB to 0.9.2 (#25718) 2023-10-20 12:07:03 -06:00
9972ac6908 refactor: use DATE_TRUNC for Elasticsearch time grain (#25717)
Co-authored-by: Mikel Vuka <mikel.vuka@zalando.de>
2023-10-20 10:05:05 -07:00
Daniel Vaz GasparandGitHub 8fb0c8da56 fix: bump to FAB 4.3.9 remove CSP exception (#25712) 2023-10-20 11:33:40 +01:00
StepanandGitHub 75a7431379 fix(chore): dashboard requests to database equal the number of slices it has (#24709) 2023-10-20 08:32:14 +01:00
David MeauxandGitHub ee23690196 feat: add France's regions to country map visualization (#25676) 2023-10-19 17:30:34 -06:00
Marius DavidsenandGitHub def7cd1b89 chore: helm chart: bump appVersion to 3.0.1 (#25709) 2023-10-19 14:16:02 -07:00
Sebastian LiebscherandGitHub 505678b37b chore: Change the format for sha512 sum for releases (#25577) 2023-10-19 16:26:20 -03:00
39ad3226c7 feat: add database and schema names to dataset option (#25569)
Co-authored-by: Sonia <sonia.gautam@agoda.com>
2023-10-19 12:05:58 -06:00
Corbin BullardandGitHub dfff3c1cba feat: Funnel/tooltip-customization (#25666) 2023-10-19 12:04:29 -06:00
Igor KhrolandGitHub da42bf2dbb fix: remove unnecessary redirect (#25679) 2023-10-19 12:03:44 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
07796b7528 build(deps-dev): bump @types/cookie from 0.5.1 to 0.5.3 in /superset-websocket (#25689)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 12:03:16 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e29e2684d0 build(deps-dev): bump @types/uuid from 9.0.4 to 9.0.6 in /superset-websocket (#25701)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 12:02:50 -06:00
RahulandGitHub bac5a85541 docs(README): remove typo (#25710) 2023-10-19 12:02:07 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1d37f3a15b build(deps-dev): bump @types/node from 20.8.6 to 20.8.7 in /superset-websocket (#25700)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 09:50:30 -07:00
Rob MooreandGitHub 4e94fc4cff fix(sqllab): reinstate "Force trino client async execution" (#25680) 2023-10-19 16:38:13 +03:00
e7cdfeeb2c feat: Add week time grain for Elasticsearch datasets (#25683)
Co-authored-by: Mikel Vuka <mikel.vuka@zalando.de>
2023-10-18 19:39:16 -07:00
Elizabeth ThompsonandGitHub 26498fc099 chore: add latest-official docker tag (#25322) 2023-10-18 16:59:30 -07:00
OskarNSandGitHub be82657940 fix(dremio): Fixes issue with Dremio SQL generation for Charts with Series Limit (#25657) 2023-10-18 15:54:27 -04:00
Michael S. MolinaandGitHub dc06fb8b11 chore: Adds 3.0.1 data to CHANGELOG.md (#25691) 2023-10-18 15:48:18 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8b32b2abd3 build(deps-dev): bump @types/jsonwebtoken from 9.0.3 to 9.0.4 in /superset-websocket (#25688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 10:22:31 -07:00
Hugh A. Miles IIandGitHub a27a809f07 fix(tags): +n tags for listview (#25603) 2023-10-17 23:39:15 -04:00
John BodleyandGitHub 32e37d8cda chore: Cleanup hostNamesConfig.js (#25543) 2023-10-17 15:58:43 -07:00
JUST.in DO ITandGitHub 16cc089b19 fix: warning of nth-child (#23638) 2023-10-17 15:33:07 -04:00
JUST.in DO ITandGitHub deef3b04eb feat(sqllab): ResultTable extension (#25423) 2023-10-17 14:03:35 -04:00
Arnout EngelenandGitHub 150e5c90f7 docs: make project-specific security page more prominent (#25654) 2023-10-17 13:43:38 -04:00
Daniel Vaz GasparandGitHub f473d13d0d fix: improve upload ZIP file validation (#25658) 2023-10-17 18:28:09 +01:00
Ville BrofeldtandGitHub cb963585ad chore: sync lock files (#25667) 2023-10-17 09:51:35 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1991d240bf build(deps-dev): bump @babel/traverse from 7.16.0 to 7.23.2 in /superset-websocket (#25661)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:50:33 -07:00
JackandGitHub 51c56dd2a0 fix(header navlinks): link navlinks to path prefix (#25495) 2023-10-17 09:45:25 -07:00
e58a3aba54 fix: permalink save/overwrites in explore (#25112)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-10-16 14:00:09 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
18a1c8d7d8 build(deps-dev): bump @types/node from 20.8.5 to 20.8.6 in /superset-websocket (#25653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 09:57:32 -07:00
Jack FragassiandGitHub a0a0d8043f fix(import): Make sure query context is overwritten for overwriting imports (#25493) 2023-10-16 09:49:55 -07:00
Ville BrofeldtandGitHub 8c6bd4ef04 chore: bump pip-tools (#25645) 2023-10-15 07:40:10 -07:00
Igor KhrolandGitHub 99f79f5143 fix: avoid 500 errors with SQLLAB_BACKEND_PERSISTENCE (#25553) 2023-10-13 13:30:19 -06:00
SeanandGitHub 56f74e5215 docs: invert logo color for dark theme in README (#25537) 2023-10-13 13:29:34 -06:00
e8783033f8 chore: adding resource links to readme (#25629)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-13 13:28:24 -06:00
Josh SorefandGitHub 5054b9fade build(ci): Provide diff for pre-commit failures (#25638)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-10-13 11:00:09 -07:00
Hugh A. Miles IIandGitHub 9074f72959 fix(tags): Polish + Better messaging for skipped tags with bad permissions (#25578) 2023-10-13 13:13:59 -04:00
JUST.in DO ITandGitHub b370c66308 fix(sqllab): template validation error within comments (#25626) 2023-10-13 11:07:54 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4a01b6006c build(deps-dev): bump @types/node from 20.8.4 to 20.8.5 in /superset-websocket (#25632)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 10:54:50 -06:00
Josh SorefandGitHub bfcca8cbab chore(helm): spelling: initialize (#25455)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-10-13 09:37:51 -07:00
59fc5a6184 docs: BugHerd Tasks 88, 89, 90, 91 (#25567)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-13 11:18:08 -04:00
JUST.in DO ITandGitHub a520124a78 fix(sqllab): Mistitled for new tab after rename (#25523) 2023-10-13 11:17:45 -04:00
JUST.in DO ITandGitHub 003001f19f fix(sqllab): Allow opening of SQL Lab in new browser tab (#25582) 2023-10-13 11:16:50 -04:00
Ville BrofeldtandGitHub e56e0de458 fix: revert fix(sqllab): Force trino client async execution (#24859) (#25541) 2023-10-13 11:58:20 +00:00
Evan RusackasandGitHub ef1807cd7e chore(feature?): Bump scarf-js to 1.3.0 to get more telemetry data (#25602) 2023-10-12 09:43:30 -06:00
JUST.in DO ITandGitHub 2dc5c5f53f feat(sqllab): Add keyboard shortcut helper (#25542) 2023-10-12 11:13:37 -04:00
Beto DealmeidaandGitHub 62bffaf935 fix: finestTemporalGrainFormatter (#25618) 2023-10-11 15:57:23 -06:00
Beto DealmeidaandGitHub 63964bb520 fix(test-db): engine params (#25615) 2023-10-11 12:45:33 -06:00
FabienandGitHub b97f8f03ac fix(window): unavailable localStorage and sessionStorage (#25599) 2023-10-11 11:31:30 -06:00
Corbin BullardandGitHub f556ef53f3 fix(Charts): Set max row limit + removed the option to use an empty row limit value (#25579) 2023-10-11 11:31:21 -06:00
be3714e131 fix(Presto): catch DatabaseError when testing Presto views (#25559)
Co-authored-by: Rui Zhao <zhaorui@dropbox.com>
2023-10-11 11:31:07 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d0f2c5581d build(deps): bump postcss from 8.3.11 to 8.4.31 in /docs (#25502)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 11:30:35 -06:00
1f20214244 docs: Add timezone information (#19056)
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-10-11 11:30:23 -06:00
Igor KhrolandGitHub 52f631a038 fix: thubmnails loading - Talisman default config (#25486) 2023-10-11 11:30:09 -06:00
Sandeep PatelandGitHub eb9cd2a2a5 refactor: Issue #25040; Refactored sync_role_definition function in order to reduce number of query. (#25340) 2023-10-11 11:29:52 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3f85239053 build(deps-dev): bump @types/ws from 8.5.6 to 8.5.7 in /superset-websocket (#25606)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 10:22:29 -07:00
Kamil GabryjelskiandGitHub cef68f8a9a fix: Breaking change in MachineAuthProvider constructor (#25532) 2023-10-11 15:38:31 +02:00
Multazim DeshmukhandGitHub 050543ae1b feat: migrate to docker compose v2 (#25565) 2023-10-10 14:38:40 -07:00
Corbin BullardandGitHub a6d0e6f37a fix(RLS): Fix Info Tooltip + Button Alignment on RLS Modal (#25400) 2023-10-10 20:52:37 +03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d1ba4dc284 build(deps): bump winston from 3.10.0 to 3.11.0 in /superset-websocket (#25585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 09:54:41 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
593daac614 build(deps-dev): bump @types/node from 20.8.2 to 20.8.4 in /superset-websocket (#25584)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 09:53:31 -07:00
Daniel Vaz GasparandGitHub 549abb542b fix: REST API CSRF exempt list (#25590) 2023-10-10 12:53:37 +01:00
Matthew ChiangandGitHub 512fb9a0bd feat: Add Deck.gl Contour Layer (#24154) 2023-10-10 11:20:37 +02:00
EugeneTorapandGitHub 42d0474cc2 chore: Update pylint to 2.17.7 (#25566) 2023-10-09 11:51:41 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e0a7488005 build(deps-dev): bump eslint from 8.49.0 to 8.51.0 in /superset-websocket (#25574)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 09:58:47 -07:00
Sebastian LiebscherandGitHub 178607093f fix: Make host.docker.internal available on linux (#25547) 2023-10-06 10:38:31 -07:00
Kamil GabryjelskiandGitHub 58fcd292a9 fix: Apply normalization to all dttm columns (#25147) 2023-10-06 09:47:00 -07:00
17792a507c feat(plugin-chart-echarts): Echarts Waterfall (#17906)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2023-10-06 10:08:16 -03:00
Hugh A. Miles IIandGitHub 0c40bea064 fix: Tags Page ListView size to 10 (#25536) 2023-10-05 15:03:19 -04:00
Beto DealmeidaandGitHub 89b05993a3 fix(test-db): removed attribute (#25525) 2023-10-05 10:47:30 -07:00
Hugh A. Miles IIandGitHub 4532079c71 fix(tags): Update loading + pagination for Tags Page (#25473) 2023-10-05 13:46:10 -04:00
dcfebfce9d fix(tags): fix clears delete on Tags Modal (#25470)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2023-10-05 13:37:53 -04:00
JUST.in DO ITandGitHub 34f99708d4 chore(sqllab): Typescript for SqlEditor component (#25228) 2023-10-05 12:33:01 -04:00
c81c60c91f feat: Adds the ECharts Bubble chart (#22107)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2023-10-05 07:58:46 -03:00
Igor KhrolandGitHub 50b0816e37 fix: tags permissions error message (#25516) 2023-10-04 16:30:56 -04:00
Hugh A. Miles IIandGitHub 1fb2c62c02 chore(tags): don't allow users to create new tags from property dropdowns (#25507) 2023-10-04 15:51:55 -04:00
JUST.in DO ITandGitHub 5ab1e7eae4 feat(sqllab): SPA migration (#25151) 2023-10-04 15:21:41 -04:00
Lily KuangandGitHub af661ceee2 chore(tags): move tags column in dashboard and chart list (#25504) 2023-10-04 12:07:27 -07:00
87c8e872ee docs: fix for domain sharding results in failed requests with "Missing Authorization Header" (#24481)
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-10-04 11:37:52 -07:00
JUST.in DO ITandGitHub ba541e8022 chore: Expand error detail on screencapture (#25519) 2023-10-04 14:06:22 -04:00
JUST.in DO ITandGitHub b92957e510 fix(sqllab): Broken query containing 'children' (#25490) 2023-10-04 14:06:01 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dab18250d7 build(deps): bump ws and @types/ws in /superset-websocket (#25508)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 10:27:28 -07:00
Kamil GabryjelskiandGitHub ff95d0face feat: Implement using Playwright for taking screenshots in reports (#25247) 2023-10-04 06:51:58 +02:00
Hugh A. Miles IIandGitHub 53013395d7 fix: Tags Polish II (#25496) 2023-10-03 20:41:01 -04:00
Beto DealmeidaandGitHub 3e63c82ecc feat: generic marshmallow error component (#25303) 2023-10-03 11:35:28 -07:00
mapledanandGitHub dbe0838f8f fix: Unable to sync columns when database or dataset name contains + (#25390) 2023-10-03 11:15:01 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e3244e9056 build(deps-dev): bump @types/node from 20.6.0 to 20.8.2 in /superset-websocket (#25498)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 09:53:11 -07:00
7a88ad3c02 docs: define localhost for docker (#25480)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:37:26 -04:00
23996b59a1 docs: update docker compose instructions (#25479)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:35:28 -04:00
789e6b76ae docs: add a FAQ about asset recovery from UI (#25482)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:35:15 -04:00
c52c206d05 docs: add https & ldap instructions (#25477)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:33:54 -04:00
Craig RuedaandGitHub db7f5fed31 chore(async): Initial Refactoring of Global Async Queries (#25466) 2023-10-02 17:22:07 -07:00
John BodleyandGitHub 36ed617090 fix: Address Mypy issue which is causing CI to fail (#25494) 2023-10-02 14:32:21 -07:00
Yaswanth-PerumallaandGitHub 0d0a81c0d2 fix(Indian Map Changes): fixed-Indian-map-border (#24927) 2023-09-30 12:17:14 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8553b06155 build(deps-dev): bump prettier from 3.0.2 to 3.0.3 in /superset-websocket (#25120)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 23:15:57 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6aed5887e5 build(deps-dev): bump @types/jsonwebtoken from 9.0.2 to 9.0.3 in /superset-websocket (#25325)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 23:13:53 -06:00
Sam FirkeandGitHub b33d152a5b docs(FAQ): remove reference to filter box, add Q&A re: usage analytics (#25435) 2023-09-29 23:12:11 -06:00
yousophandGitHub e36e0fdf25 chore: Update Explore tooltip copy (#25438) 2023-09-29 23:11:19 -06:00
a14fcc95e7 chore(misc): Typos in config.py (#25465)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-09-29 23:11:10 -06:00
ʈᵃᵢandGitHub ddde178e3b fix(sqllab): error with lazy_gettext for tab titles (#25469) 2023-09-29 19:31:20 -07:00
85251f8cae fix: Tags Page Polish (#25403)
Co-authored-by: Lily Kuang <lily@preset.io>
2023-09-29 22:13:26 -04:00
Kamil GabryjelskiandGitHub 0cebffd59a fix: Styles not loading because of faulty CSP setting (#25468) 2023-09-29 20:54:32 +02:00
Ville BrofeldtandGitHub 7eab59af51 fix(mysql): handle string typed decimal results (#24241) 2023-09-29 10:48:08 -07:00
Josh SorefandGitHub 0735680674 chore(backend): Spelling (#25457)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:36:50 -07:00
Josh SorefandGitHub 3e0c70d018 chore(misc): Spelling (#25456)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:34:04 -07:00
Josh SorefandGitHub 041197b6df chore(docs): Spelling (#25453)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:51:14 -04:00
Celalettin CalisandGitHub b9b557a761 fix(helm chart): set chart appVersion to 3.0.0 (#25373) 2023-09-29 09:19:03 -03:00
Gyuil HanandGitHub e83a76a586 fix: update the SQLAlchemy model definition at json column for Log table (#25445) 2023-09-29 09:02:44 -03:00
Michael S. MolinaandGitHub 7cf96cd843 fix: Duplicate items when pasting into Select (#25447) 2023-09-28 14:11:58 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1a759ce56d build(deps): bump get-func-name from 2.0.0 to 2.0.2 in /superset-frontend/cypress-base (#25441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-28 10:58:13 -06:00
Corbin BullardandGitHub 11b49a6ceb fix(SqlLab): make icon placement even (#25372) 2023-09-28 15:36:24 +02:00
a0eeb4d767 fix(nativeFilters): Speed up native filters by removing unnecessary rerenders (#25282)
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-09-28 14:37:19 +02:00
JUST.in DO ITandGitHub ba5e2f634a fix(sqllab): invalid start date (#25437) 2023-09-27 12:23:59 -07:00
Beto DealmeidaandGitHub f0080f9c55 fix: smarter date formatter (#25404) 2023-09-27 09:52:36 -07:00
JUST.in DO ITandGitHub 463962a58b fix(sqllab): misplaced limit warning alert (#25306) 2023-09-27 08:25:46 -07:00
Daniel Vaz GasparandGitHub 1716b9f8f6 fix: swagger UI CSP error (#25368) 2023-09-27 08:55:29 +01:00
Beto DealmeidaandGitHub a4d8f36863 fix: chart import (#25425) 2023-09-26 19:31:34 -07:00
40ba3c2d57 chore: cryptography version bump (#25276)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-09-26 16:01:01 -07:00
John BodleyandGitHub 893b45feef fix: Rename on_delete parameter to ondelete (#25424) 2023-09-26 16:00:37 -07:00
JackandGitHub 296ff17f19 fix: preventing save button from flickering in SQL Lab (#25106) 2023-09-26 11:41:28 -07:00
52eba11d6a docs: update docker-compose to match latest release (#25332)
Also notes that one needn't build a new image.

Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-09-26 10:16:52 -04:00
Ville BrofeldtandGitHub f6ce40d246 chore: upgrade node to most recent 16.x (#25362) 2023-09-26 04:00:41 -07:00
Michael S. MolinaandGitHub d76ff39766 fix: Workaround for Cypress ECONNRESET error (#25399) 2023-09-25 17:39:06 -03:00
Aleksey KarpovandGitHub e1a91e2228 feat(docker): Use docker buildx and Add ARM builds for dockerize and websocket (#25377) 2023-09-25 13:08:21 -07:00
Michael S. MolinaandGitHub 0c083bdc1a feat: Adds Sunburst chart migration logic (#25343) 2023-09-22 09:44:40 -03:00
1114 changed files with 29715 additions and 15427 deletions
+1 -1
View File
@@ -24,6 +24,6 @@
/superset-frontend/cypress-base/ @jinghua-qa @geido @eschutho @rusackas @betodealmeida
# Notify PMC members of changes to Github Actions
# Notify PMC members of changes to GitHub Actions
/.github/ @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @john-bodley @kgabryje
+12
View File
@@ -0,0 +1,12 @@
---
blank_issues_enabled: false
contact_links:
- name: Feature Request
url: https://github.com/apache/superset/discussions/new?category=ideas
about: Propose a feature request to the Superset community
- name: Q&A
url: https://github.com/apache/superset/discussions/new?category=q-a-help
about: Open a community Q&A thread on GitHub Discussions
- name: Slack
url: https://bit.ly/join-superset-slack
about: Join the Superset Community on Slack for other discussions and assistance
+3 -3
View File
@@ -1,13 +1,13 @@
---
name: SIP
about: "Superset Improvement Proposal. See [here](https://github.com/apache/superset/issues/5602) for details."
about: "Superset Improvement Proposal. See SIP-0 (https://github.com/apache/superset/issues/5602) for details. A SIP introduces any major change into Apache Superset's code or process."
labels: sip
title: "[SIP] Your Title Here (do not add SIP number)"
asignees: "apache/superset-committers"
assignees: "apache/superset-committers"
---
*Please make sure you are familiar with the SIP process documented*
(here)[https://github.com/apache/superset/issues/5602]. The SIP will be numbered by a committer upon acceptance.
[here](https://github.com/apache/superset/issues/5602). The SIP will be numbered by a committer upon acceptance.
## [SIP] Proposal for ...<title>
+2 -2
View File
@@ -12,8 +12,8 @@ Apache Software Foundation takes a rigorous standpoint in annihilating the secur
in its software projects. Apache Superset is highly sensitive and forthcoming to issues
pertaining to its features and functionality.
If you have any concern or believe you have found a vulnerability in Apache Superset,
please get in touch with the Apache Security Team privately at
e-mail address [security@apache.org](mailto:security@apache.org).
please get in touch with the Apache Superset Security Team privately at
e-mail address [security@superset.apache.org](mailto:security@superset.apache.org).
More details can be found on the ASF website at
[ASF vulnerability reporting process](https://apache.org/security/#reporting-a-vulnerability)
-13
View File
@@ -129,12 +129,6 @@ testdata() {
say "::endgroup::"
}
codecov() {
say "::group::Upload code coverage"
bash ".github/workflows/codecov.sh" "$@"
say "::endgroup::"
}
cypress-install() {
cd "$GITHUB_WORKSPACE/superset-frontend/cypress-base"
@@ -201,11 +195,6 @@ cypress-run-all() {
cypress-run "sqllab/*" "Backend persist"
# Upload code coverage separately so each page can have separate flags
# -c will clean existing coverage reports, -F means add flags
# || true to prevent CI failure on codecov upload
codecov -c -F "cypress" || true
say "::group::Flask log for backend persist"
cat "$flasklog"
say "::endgroup::"
@@ -235,8 +224,6 @@ cypress-run-applitools() {
$cypress --spec "cypress/e2e/*/**/*.applitools.test.ts" --browser "$browser" --headless --config ignoreTestFiles="[]"
codecov -c -F "cypress" || true
say "::group::Flask log for default run"
cat "$flasklog"
say "::endgroup::"
-72
View File
@@ -1,72 +0,0 @@
# .github/workflows/chromatic.yml
# seee https://www.chromatic.com/docs/github-actions
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# 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.
#
# Workflow name
name: 'Chromatic Storybook Master'
# Event for the workflow
# Only run if changes were made in superset-frontend folder of repo on merge to Master
on:
# This will trigger when a branch merges to master when the PR has changes in the frontend folder updating the chromatic baseline
push:
branches:
- master
paths:
- "superset-frontend/**"
# List of jobs
jobs:
config:
runs-on: "ubuntu-latest"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.CHROMATIC_PROJECT_TOKEN != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
chromatic-deployment:
needs: config
if: needs.config.outputs.has-secrets
# Operating System
runs-on: ubuntu-latest
# Job steps
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # 👈 Required to retrieve git history
- name: Install dependencies
run: npm ci
working-directory: superset-frontend
# 👇 Build and publish Storybook to Chromatic
- name: Build and publish Storybook to Chromatic
id: chromatic-master
uses: chromaui/action@v1
# Required options for the Chromatic GitHub Action
with:
# 👇 Location of package.json from root of mono-repo
workingDir: superset-frontend
# 👇 Chromatic projectToken, refer to the manage page to obtain it.
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
exitZeroOnChanges: true # 👈 Option to prevent the workflow from failing
autoAcceptChanges: true # 👈 Option to accept all changes when merging to master
File diff suppressed because it is too large Load Diff
@@ -18,8 +18,6 @@ jobs:
shell: bash
run: |
if [ -n "${{ (secrets.AWS_ACCESS_KEY_ID != '' &&
secrets.AWS_ACCESS_KEY_ID != '' &&
secrets.AWS_SECRET_ACCESS_KEY != '' &&
secrets.AWS_SECRET_ACCESS_KEY != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
echo "has secrets!"
+6 -1
View File
@@ -29,9 +29,14 @@ jobs:
persist-credentials: false
submodules: recursive
ref: ${{ github.ref }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
.github/workflows/docker_build_push.sh
GITHUB_RELEASE_TAG_NAME="${{ github.event.release.tag_name }}"
./scripts/docker_build_push.sh "$GITHUB_RELEASE_TAG_NAME"
+13 -3
View File
@@ -35,13 +35,16 @@ jobs:
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
.github/workflows/docker_build_push.sh
./scripts/docker_build_push.sh
- name: Build ephemeral env image
if: github.event_name == 'pull_request'
@@ -49,7 +52,14 @@ jobs:
mkdir -p ./build
echo ${{ github.sha }} > ./build/SHA
echo ${{ github.event.pull_request.number }} > ./build/PR-NUM
DOCKER_BUILDKIT=1 docker build --target ci -t ${{ github.sha }} -t "pr-${{ github.event.pull_request.number }}" .
docker buildx build --target ci \
--load \
--cache-from=type=local,src=/tmp/superset \
-t ${{ github.sha }} \
-t "pr-${{ github.event.pull_request.number }}" \
--platform linux/amd64 \
--label "build_actor=${GITHUB_ACTOR}" \
.
docker save ${{ github.sha }} | gzip > ./build/${{ github.sha }}.tar.gz
- name: Upload build artifacts
+2 -2
View File
@@ -1,4 +1,4 @@
name: Prefer Typescript
name: Prefer TypeScript
on:
push:
@@ -9,7 +9,7 @@ on:
jobs:
prefer_typescript:
if: github.ref == 'ref/heads/master' && github.event_name == 'pull_request'
name: Prefer Typescript
name: Prefer TypeScript
runs-on: ubuntu-latest
permissions:
contents: read
+5 -3
View File
@@ -66,6 +66,8 @@ jobs:
working-directory: ./superset-frontend/packages/generator-superset
run: npx jest
- name: Upload code coverage
if: steps.check.outcome == 'failure'
working-directory: ./superset-frontend
run: ../.github/workflows/codecov.sh -c -F javascript
uses: codecov/codecov-action@v4
with:
flags: javascript
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
@@ -50,8 +50,8 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements/testing.txt'
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
@@ -70,10 +70,11 @@ jobs:
run: |
./scripts/python_tests.sh
- name: Upload code coverage
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F mysql
uses: codecov/codecov-action@v4
with:
flags: python,mysql
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
test-postgres:
runs-on: ubuntu-20.04
strategy:
@@ -116,8 +117,8 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements/testing.txt'
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
@@ -136,9 +137,11 @@ jobs:
run: |
./scripts/python_tests.sh
- name: Upload code coverage
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F postgres
uses: codecov/codecov-action@v4
with:
flags: python,postgres
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
test-sqlite:
runs-on: ubuntu-20.04
@@ -174,8 +177,8 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements/testing.txt'
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
@@ -194,6 +197,8 @@ jobs:
run: |
./scripts/python_tests.sh
- name: Upload code coverage
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F sqlite
uses: codecov/codecov-action@v4
with:
flags: python,sqlite
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
+6 -1
View File
@@ -86,7 +86,12 @@ jobs:
echo "HOMEBREW_REPOSITORY=$HOMEBREW_REPOSITORY" >>"${GITHUB_ENV}"
brew install norwoodj/tap/helm-docs
- name: pre-commit
run: pre-commit run --all-files
run: |
if ! pre-commit run --all-files; then
git status
git diff
exit 1
fi
babel-extract:
runs-on: ubuntu-20.04
@@ -61,8 +61,8 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements/testing.txt'
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
@@ -81,9 +81,11 @@ jobs:
run: |
./scripts/python_tests.sh -m 'chart_data_flow or sql_json_flow'
- name: Upload code coverage
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F presto
uses: codecov/codecov-action@v4
with:
flags: python,presto
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
test-postgres-hive:
runs-on: ubuntu-20.04
@@ -132,14 +134,14 @@ jobs:
run: sudo chown -R $USER:$USER /tmp/.superset
- name: Start hadoop and hive
if: steps.check.outcome == 'failure'
run: docker-compose -f scripts/databases/hive/docker-compose.yml up -d
run: docker compose -f scripts/databases/hive/docker-compose.yml up -d
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements/testing.txt'
cache: "pip"
cache-dependency-path: "requirements/testing.txt"
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
@@ -158,6 +160,8 @@ jobs:
run: |
./scripts/python_tests.sh -m 'chart_data_flow or sql_json_flow'
- name: Upload code coverage
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F hive
uses: codecov/codecov-action@v4
with:
flags: python,hive
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
@@ -34,9 +34,9 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: 'requirements/testing.txt'
# TODO: separated requirements.txt file just for unit tests
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
@@ -54,6 +54,8 @@ jobs:
run: |
pytest --durations-min=0.5 --cov-report= --cov=superset ./tests/common ./tests/unit_tests --cache-clear
- name: Upload code coverage
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F unit
uses: codecov/codecov-action@v4
with:
flags: python,unit
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
-1
View File
@@ -75,7 +75,6 @@ enable=
# --disable=W"
disable=
cyclic-import, # re-enable once this no longer raises false positives
no-member, # re-enable once this no longer raises false positives. This will become redundant after the min required version is 3.11
missing-docstring,
duplicate-code,
unspecified-encoding,
+766 -33
View File
File diff suppressed because it is too large Load Diff
+90 -20
View File
@@ -66,7 +66,7 @@ little bit helps, and credit will always be given.
- [Build assets](#build-assets)
- [Webpack dev server](#webpack-dev-server)
- [Other npm commands](#other-npm-commands)
- [Docker (docker-compose)](#docker-docker-compose)
- [Docker (docker compose)](#docker-docker-compose)
- [Updating NPM packages](#updating-npm-packages)
- [Feature flags](#feature-flags)
- [Git Hooks](#git-hooks)
@@ -138,7 +138,7 @@ The best way to report a bug is to file an issue on GitHub. Please include:
When posting Python stack traces, please quote them using
[Markdown blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/).
_Please note that feature requests opened as Github Issues will be moved to Discussions._
_Please note that feature requests opened as GitHub Issues will be moved to Discussions._
### Submit Ideas or Feature Requests
@@ -170,7 +170,7 @@ articles. See [Documentation](#documentation) for more details.
### Add Translations
If you are proficient in a non-English language, you can help translate
text strings from Superset's UI. You can jump in to the existing
text strings from Superset's UI. You can jump into the existing
language dictionaries at
`superset/translations/<language_code>/LC_MESSAGES/messages.po`, or
even create a dictionary for a new language altogether.
@@ -180,6 +180,51 @@ See [Translating](#translating) for more details.
There is a dedicated [`apache-superset` tag](https://stackoverflow.com/questions/tagged/apache-superset) on [StackOverflow](https://stackoverflow.com/). Please use it when asking questions.
## Types of Contributors
Following the project governance model of the Apache Software Foundation (ASF), Apache Superset has a specific set of contributor roles:
### PMC Member
A Project Management Committee (PMC) member is a person who has been elected by the PMC to help manage the project. PMC members are responsible for the overall health of the project, including community development, release management, and project governance. PMC members are also responsible for the technical direction of the project.
For more information about Apache Project PMCs, please refer to https://www.apache.org/foundation/governance/pmcs.html
### Committer
A committer is a person who has been elected by the PMC to have write access (commit access) to the code repository. They can modify the code, documentation, and website and accept contributions from others.
The official list of committers and PMC members can be found [here](https://projects.apache.org/committee.html?superset).
### Contributor
A contributor is a person who has contributed to the project in any way, including but not limited to code, tests, documentation, issues, and discussions.
> You can also review the Superset project's guidelines for PMC member promotion here: https://github.com/apache/superset/wiki/Guidelines-for-promoting-Superset-Committers-to-the-Superset-PMC
### Security Team
The security team is a selected subset of PMC members, committers and non-committers who are responsible for handling security issues.
New members of the security team are selected by the PMC members in a vote. You can request to be added to the team by sending a message to private@superset.apache.org. However, the team should be small and focused on solving security issues, so the requests will be evaluated on a case-by-case basis and the team size will be kept relatively small, limited to only actively security-focused contributors.
This security team must follow the [ASF vulnerability handling process](https://apache.org/security/committers.html#asf-project-security-for-committers).
Each new security issue is tracked as a JIRA ticket on the [ASF's JIRA Superset security project](https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=588&projectKey=SUPERSETSEC)
Security team members must:
- Have an [ICLA](https://www.apache.org/licenses/contributor-agreements.html) signed with Apache Software Foundation.
- Not reveal information about pending and unfixed security issues to anyone (including their employers) unless specifically authorised by the security team members, e.g., if the security team agrees that diagnosing and solving an issue requires the involvement of external experts.
A release manager, the contributor overseeing the release of a specific version of Apache Superset, is by default a member of the security team. However, they are not expected to be active in assessing, discussing, and fixing security issues.
Security team members should also follow these general expectations:
- Actively participate in assessing, discussing, fixing, and releasing security issues in Superset.
- Avoid discussing security fixes in public forums. Pull request (PR) descriptions should not contain any information about security issues. The corresponding JIRA ticket should contain a link to the PR.
- Security team members who contribute to a fix may be listed as remediation developers in the CVE report, along with their job affiliation (if they choose to include it).
## Pull Request Guidelines
A philosophy we would like to strongly encourage is
@@ -329,16 +374,16 @@ Triaging goals
First, add **Category labels (a.k.a. hash labels)**. Every issue/PR must have one hash label (except spam entry). Labels that begin with `#` defines issue/PR type:
| Label | for Issue | for PR |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `#bug` | Bug report | Bug fix |
| `#code-quality` | Describe problem with code, architecture or productivity | Refactor, tests, tooling |
| `#feature` | New feature request | New feature implementation |
| `#refine` | Propose improvement that does not provide new features and is also not a bug fix nor refactor, such as adjust padding, refine UI style. | Implementation of improvement that does not provide new features and is also not a bug fix nor refactor, such as adjust padding, refine UI style. |
| `#doc` | Documentation | Documentation |
| `#question` | Troubleshooting: Installation, Running locally, Ask how to do something. Can be changed to `#bug` later. | N/A |
| `#SIP` | Superset Improvement Proposal | N/A |
| `#ASF` | Tasks related to Apache Software Foundation policy | Tasks related to Apache Software Foundation policy |
| Label | for Issue | for PR |
| --------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `#bug` | Bug report | Bug fix |
| `#code-quality` | Describe problem with code, architecture or productivity | Refactor, tests, tooling |
| `#feature` | New feature request | New feature implementation |
| `#refine` | Propose improvement such as adjusting padding or refining UI style, excluding new features, bug fixes, and refactoring. | Implementation of improvement such as adjusting padding or refining UI style, excluding new features, bug fixes, and refactoring. |
| `#doc` | Documentation | Documentation |
| `#question` | Troubleshooting: Installation, Running locally, Ask how to do something. Can be changed to `#bug` later. | N/A |
| `#SIP` | Superset Improvement Proposal | N/A |
| `#ASF` | Tasks related to Apache Software Foundation policy | Tasks related to Apache Software Foundation policy |
Then add other types of labels as appropriate.
@@ -424,7 +469,7 @@ Commits to `master` trigger a rebuild and redeploy of the documentation site. Su
Make sure your machine meets the [OS dependencies](https://superset.apache.org/docs/installation/installing-superset-from-scratch#os-dependencies) before following these steps.
You also need to install MySQL or [MariaDB](https://mariadb.com/downloads).
Ensure that you are using Python version 3.8, 3.9, 3.10 or 3.11, then proceed with:
Ensure that you are using Python version 3.9, 3.10 or 3.11, then proceed with:
```bash
# Create a virtual environment and activate it (recommended)
@@ -610,6 +655,31 @@ Then put this:
export NODE_OPTIONS=--no-experimental-fetch
```
If while using the above commands you encounter an error related to the limit of file watchers:
```bash
Error: ENOSPC: System limit for number of file watchers reached
```
The error is thrown because the number of files monitored by the system has reached the limit.
You can address this this error by increasing the number of inotify watchers.
The current value of max watches can be checked with:
```bash
cat /proc/sys/fs/inotify/max_user_watches
```
Edit the file /etc/sysctl.conf to increase this value.
The value needs to be decided based on the system memory [(see this StackOverflow answer for more context)](https://stackoverflow.com/questions/535768/what-is-a-reasonable-amount-of-inotify-watches-with-linux).
Open the file in editor and add a line at the bottom specifying the max watches values.
```bash
fs.inotify.max_user_watches=524288
```
Save the file and exit editor.
To confirm that the change succeeded, run the following command to load the updated value of max_user_watches from sysctl.conf:
```bash
sudo sysctl -p
```
#### Webpack dev server
The dev server by default starts at `http://localhost:9000` and proxies the backend requests to `http://localhost:8088`.
@@ -652,7 +722,7 @@ Alternatively, there are other NPM commands you may find useful:
1. `npm run build-dev`: build assets in development mode.
2. `npm run dev`: built dev assets in watch mode, will automatically rebuild when a file changes
#### Docker (docker-compose)
#### Docker (docker compose)
See docs [here](docker/README.md)
@@ -899,17 +969,17 @@ CYPRESS_BASE_URL=<your url> npm run cypress open
See [`superset-frontend/cypress_build.sh`](https://github.com/apache/superset/blob/master/superset-frontend/cypress_build.sh).
As an alternative you can use docker-compose environment for testing:
As an alternative you can use docker compose environment for testing:
Make sure you have added below line to your /etc/hosts file:
`127.0.0.1 db`
If you already have launched Docker environment please use the following command to assure a fresh database instance:
`docker-compose down -v`
`docker compose down -v`
Launch environment:
`CYPRESS_CONFIG=true docker-compose up`
`CYPRESS_CONFIG=true docker compose up`
It will serve backend and frontend on port 8088.
@@ -976,7 +1046,7 @@ superset:
Start Superset as usual
```bash
docker-compose up
docker compose up
```
Install the required libraries and packages to the docker container
@@ -1211,7 +1281,7 @@ To contribute a plugin to Superset, your plugin must meet the following criteria
- The plugin should contain sufficient unit/e2e tests
- The plugin should use appropriate namespacing, e.g. a folder name of `plugin-chart-whatever` and a package name of `@superset-ui/plugin-chart-whatever`
- The plugin should use them variables via Emotion, as passed in by the ThemeProvider
- The plugin should provide adequate error handling (no data returned, malformatted data, invalid controls, etc.)
- The plugin should provide adequate error handling (no data returned, malformed data, invalid controls, etc.)
- The plugin should contain documentation in the form of a populated `README.md` file
- The plugin should have a meaningful and unique icon
- Above all else, the plugin should come with a _commitment to maintenance_ from the original author(s)
+28 -24
View File
@@ -22,16 +22,14 @@ ARG PY_VER=3.9-slim-bookworm
# if BUILDPLATFORM is null, set it to 'amd64' (or leave as is otherwise).
ARG BUILDPLATFORM=${BUILDPLATFORM:-amd64}
FROM --platform=${BUILDPLATFORM} node:16-slim AS superset-node
FROM --platform=${BUILDPLATFORM} node:16-bookworm-slim AS superset-node
ARG NPM_BUILD_CMD="build"
RUN apt-get update -q \
&& apt-get install -yq --no-install-recommends \
python3 \
make \
gcc \
g++
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends \
build-essential \
python3
ENV BUILD_CMD=${NPM_BUILD_CMD} \
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
@@ -41,8 +39,9 @@ WORKDIR /app/superset-frontend
RUN --mount=type=bind,target=/frontend-mem-nag.sh,src=./docker/frontend-mem-nag.sh \
/frontend-mem-nag.sh
COPY superset-frontend/package*.json ./
RUN npm ci
RUN --mount=type=bind,target=./package.json,src=./superset-frontend/package.json \
--mount=type=bind,target=./package-lock.json,src=./superset-frontend/package-lock.json \
npm ci
COPY ./superset-frontend ./
# This seems to be the most expensive step
@@ -64,8 +63,7 @@ ENV LANG=C.UTF-8 \
RUN mkdir -p ${PYTHONPATH} superset/static superset-frontend apache_superset.egg-info requirements \
&& useradd --user-group -d ${SUPERSET_HOME} -m --no-log-init --shell /bin/bash superset \
&& apt-get update -q \
&& apt-get install -yq --no-install-recommends \
&& apt-get update -qq && apt-get install -yqq --no-install-recommends \
build-essential \
curl \
default-libmysqlclient-dev \
@@ -74,27 +72,31 @@ RUN mkdir -p ${PYTHONPATH} superset/static superset-frontend apache_superset.egg
libpq-dev \
libecpg-dev \
libldap2-dev \
&& apt-get autoremove -yqq --purge && rm -rf /var/lib/apt/lists/* /var/[log,tmp]/* /tmp/* && apt-get clean \
&& touch superset/static/version_info.json \
&& chown -R superset:superset ./*
&& chown -R superset:superset ./* \
&& rm -rf /var/lib/apt/lists/*
COPY --chown=superset:superset ./requirements/*.txt requirements/
COPY --chown=superset:superset setup.py MANIFEST.in README.md ./
# setup.py uses the version information in package.json
COPY --chown=superset:superset superset-frontend/package.json superset-frontend/
RUN pip install --no-cache-dir -r requirements/local.txt
RUN --mount=type=bind,target=./requirements/local.txt,src=./requirements/local.txt \
--mount=type=bind,target=./requirements/development.txt,src=./requirements/development.txt \
--mount=type=bind,target=./requirements/base.txt,src=./requirements/base.txt \
--mount=type=cache,target=/root/.cache/pip \
pip install -r requirements/local.txt
COPY --chown=superset:superset --from=superset-node /app/superset/static/assets superset/static/assets
## Lastly, let's install superset itself
COPY --chown=superset:superset superset superset
RUN pip install --no-cache-dir -e . \
RUN --mount=type=cache,target=/root/.cache/pip \
pip install -e . \
&& flask fab babel-compile --target superset/translations \
&& chown -R superset:superset superset/translations
COPY --chmod=755 ./docker/run-server.sh /usr/bin/
USER superset
HEALTHCHECK CMD curl -f "http://localhost:$SUPERSET_PORT/health"
HEALTHCHECK CMD curl -f "http://localhost:${SUPERSET_PORT}/health"
EXPOSE ${SUPERSET_PORT}
@@ -109,8 +111,8 @@ ARG GECKODRIVER_VERSION=v0.33.0 \
USER root
RUN apt-get update -q \
&& apt-get install -yq --no-install-recommends \
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends \
libnss3 \
libdbus-glib-1-2 \
libgtk-3-0 \
@@ -119,14 +121,16 @@ RUN apt-get update -q \
libxtst6 \
wget \
# Install GeckoDriver WebDriver
&& wget https://github.com/mozilla/geckodriver/releases/download/${GECKODRIVER_VERSION}/geckodriver-${GECKODRIVER_VERSION}-linux64.tar.gz -O - | tar xfz - -C /usr/local/bin \
&& wget -q https://github.com/mozilla/geckodriver/releases/download/${GECKODRIVER_VERSION}/geckodriver-${GECKODRIVER_VERSION}-linux64.tar.gz -O - | tar xfz - -C /usr/local/bin \
# Install Firefox
&& wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 -O - | tar xfj - -C /opt \
&& wget -q https://download-installer.cdn.mozilla.net/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 -O - | tar xfj - -C /opt \
&& ln -s /opt/firefox/firefox /usr/local/bin/firefox \
&& apt-get autoremove -yqq --purge wget && rm -rf /var/lib/apt/lists/* /var/[log,tmp]/* /tmp/* && apt-get clean
&& apt-get autoremove -yqq --purge wget && rm -rf /var/[log,tmp]/* /tmp/* /var/lib/apt/lists/*
# Cache everything for dev purposes...
RUN pip install --no-cache-dir -r requirements/docker.txt
RUN --mount=type=bind,target=./requirements/base.txt,src=./requirements/base.txt \
--mount=type=bind,target=./requirements/docker.txt,src=./requirements/docker.txt \
--mount=type=cache,target=/root/.cache/pip \
pip install -r requirements/docker.txt
USER superset
######################################################################
+23 -7
View File
@@ -28,11 +28,17 @@ under the License.
[![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](http://bit.ly/join-superset-slack)
[![Documentation](https://img.shields.io/badge/docs-apache.org-blue.svg)](https://superset.apache.org)
<img
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache.png"
alt="Superset"
width="500"
/>
<picture width="500">
<source
media="(prefers-color-scheme: dark)"
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache-dark.png"
alt="Superset logo (dark)"
/>
<img
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache.png"
alt="Superset logo (light)"
/>
</picture>
A modern, enterprise-ready business intelligence web application.
@@ -122,7 +128,9 @@ Here are some of the major database solutions that are supported:
<img src="superset-frontend/src/assets/images/pinot.png" alt="pinot" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/teradata.png" alt="teradata" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/yugabyte.png" alt="yugabyte" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/databend.png" alt="databend" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/starrocks.png" alt="starrocks" border="0" width="200" height="80"/>
<img src="superset-frontend/src/assets/images/doris.png" alt="doris" border="0" width="200" height="80"/>
</p>
**A more comprehensive list of supported databases** along with the configuration instructions can be found [here](https://superset.apache.org/docs/databases/installing-database-drivers).
@@ -138,7 +146,9 @@ Want to add support for your datastore or data engine? Read more [here](https://
- Ask and answer questions on [StackOverflow](https://stackoverflow.com/questions/tagged/apache-superset) using the **apache-superset** tag
- [Join our community's Slack](http://bit.ly/join-superset-slack)
and please read our [Slack Community Guidelines](https://github.com/apache/superset/blob/master/CODE_OF_CONDUCT.md#slack-community-guidelines)
- [Join our dev@superset.apache.org Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
- [Join our dev@superset.apache.org Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org). To join, simply send an email to [dev-subscribe@superset.apache.org](mailto:dev-subscribe@superset.apache.org)
- If you want to help troubleshoot GitHub Issues involving the numerous database drivers that Superset supports, please consider adding your name and the databases you have access to on the [Superset Database Familiarity Rolodex](https://docs.google.com/spreadsheets/d/1U1qxiLvOX0kBTUGME1AHHi6Ywel6ECF8xk_Qy-V9R8c/edit#gid=0)
- Join Superset's Town Hall and [Operational Model](https://preset.io/blog/the-superset-operational-model-wants-you/) recurring meetings. Meeting info is available on the [Superset Community Calendar](https://superset.apache.org/community)
## Contributor Guide
@@ -149,6 +159,12 @@ how to set up a development environment.
## Resources
- [Superset "In the Wild"](RESOURCES/INTHEWILD.md) - open a PR to add your org to the list!
- [Feature Flags](RESOURCES/FEATURE_FLAGS.md) - the status of Superset's Feature Flags.
- [Standard Roles](RESOURCES/STANDARD_ROLES.md) - How RBAC permissions map to roles.
- [Superset Wiki](https://github.com/apache/superset/wiki) - Tons of additional community resources: best practices, community content and other information.
- [Superset SIPs](https://github.com/orgs/apache/projects/170) - The status of Superset's SIPs (Superset Improvement Proposals) for both consensus and implementation status.
Superset 2.0!
- [Superset 2.0 Meetup](https://preset.io/events/superset-2-0-meetup/)
- [Superset 2.0 Release Notes](https://github.com/apache/superset/tree/master/RELEASING/release-notes-2-0)
@@ -172,7 +188,7 @@ Understanding the Superset Points of View
- [Helm Chart](https://github.com/apache/superset/tree/master/helm/superset)
- Recordings of Past [Superset Community Events](https://preset.io/events)
- [Mixed Time Series Charts](https://preset.io/events/mixed-time-series-visualization-in-superset-workshop/)
- [Mixed Time Series Charts](https://preset.io/events/mixed-time-series-visualization-in-superset-workshop/)
- [How the Bing Team Customized Superset for the Internal Self-Serve Data & Analytics Platform](https://preset.io/events/how-the-bing-team-heavily-customized-superset-for-their-internal-data/)
- [Live Demo: Visualizing MongoDB and Pinot Data using Trino](https://preset.io/events/2021-04-13-visualizing-mongodb-and-pinot-data-using-trino/)
- [Introduction to the Superset API](https://preset.io/events/introduction-to-the-superset-api/)
+3 -2
View File
@@ -30,6 +30,7 @@ partaking in the process should join the channel.
## Release notes for recent releases
- [3.1](release-notes-3-1/README.md)
- [2.0](release-notes-2-0/README.md)
- [1.5](release-notes-1-5/README.md)
- [1.4](release-notes-1-4/README.md)
@@ -238,7 +239,7 @@ Similar to `cherrytree`, the change log script requires a github token, either a
#### Initial release (e.g. 1.5.0)
When generating the changelog for an initial minor relese, you should compare with
When generating the changelog for an initial minor release, you should compare with
the previous release (in the example, the previous release branch is `1.4`, so remember to
update it accordingly):
@@ -343,7 +344,7 @@ To build and run the recently created tarball **from SVN**:
# login using admin/admin
```
## Create a release on Github
## Create a release on GitHub
After submitting the tag and testing the release candidate, follow the steps [here](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) to create the release on GitHub. Use the vote email text as the content for the release description. Make sure to check the "This is a pre-release" checkbox for release candidates. You can check previous releases if you need an example.
+6
View File
@@ -35,6 +35,12 @@ The PyPI package:
https://pypi.org/project/apache-superset/
The Change Log for the release:
https://github.com/apache/{{ project_module }}/blob/{{ version }}/CHANGELOG.md
The Updating instructions for the release:
https://github.com/apache/{{ project_module }}/blob/{{ version }}/UPDATING.md
If you have any usage questions or have problems when upgrading or
find any issues with enhancements included in this release, please
don't hesitate to let us know by sending feedback to this mailing
+2 -2
View File
@@ -28,11 +28,11 @@ Superset 2.0 is a big step forward. This release cleans up many legacy code path
## Developer Experience
- Addition of a statsd guage metric for Slack and email notifications for increased visibility into errors around alerts / reports ([#20158](https://github.com/apache/superset/pull/20158))
- Addition of a statsd gauge metric for Slack and email notifications for increased visibility into errors around alerts / reports ([#20158](https://github.com/apache/superset/pull/20158))
- Helm chart now supports resource limits and requests for each component ([#20052](https://github.com/apache/superset/pull/20052))
- New Github workflow to test Storybook Netlify instance nightly ([#19852](https://github.com/apache/superset/pull/19852))
- New GitHub workflow to test Storybook Netlify instance nightly ([#19852](https://github.com/apache/superset/pull/19852))
- Minimum requirement for Superset is now Python 3.8 ([#19017](https://github.com/apache/superset/pull/19017)
+6 -6
View File
@@ -59,7 +59,7 @@ under the License.
- [#19898](https://github.com/apache/superset/pull/19898) feat: When editing the label/title in the Metrics popover, hitting Enter should save what you've typed (@diegomedina248)
- [#16493](https://github.com/apache/superset/pull/16493) feat(plugin-chart-echarts): [feature-parity] support extra control for the area chart V2 (@stephenLYZ)
- [#19855](https://github.com/apache/superset/pull/19855) feat(explore): Frontend implementation of dataset creation from infobox (@lyndsiWilliams)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modfied col and timezone info to schedule col (@pkdotson)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modified col and timezone info to schedule col (@pkdotson)
- [#20144](https://github.com/apache/superset/pull/20144) feat: showing results pane in dashboard (@zhaoyongjie)
- [#20242](https://github.com/apache/superset/pull/20242) feat: derived metrics use different line style (@zhaoyongjie)
- [#20010](https://github.com/apache/superset/pull/20010) feat: standardized form_data (@zhaoyongjie)
@@ -115,7 +115,7 @@ under the License.
- [#19558](https://github.com/apache/superset/pull/19558) feat(explore): Redesign of Run/Save buttons (@kgabryje)
- [#19650](https://github.com/apache/superset/pull/19650) feat(embedded): API get embedded dashboard config by uuid (@lilykuang)
- [#19310](https://github.com/apache/superset/pull/19310) feat(CRUD): add new empty state (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donuct chart (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donut chart (@stephenLYZ)
- [#19314](https://github.com/apache/superset/pull/19314) feat: Move Database Import option into DB Connection modal (@lyndsiWilliams)
- [#19434](https://github.com/apache/superset/pull/19434) feat: deprecate old API and create new API for dashes created by me (@dpgaspar)
- [#19482](https://github.com/apache/superset/pull/19482) feat: add success toast to alerts and reports (@pkdotson)
@@ -181,7 +181,7 @@ under the License.
- [#20204](https://github.com/apache/superset/pull/20204) fix: Fixes issue where results panel height was incorrect [sc-49045] (@eric-briscoe)
- [#20235](https://github.com/apache/superset/pull/20235) fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics (@diegomedina248)
- [#20088](https://github.com/apache/superset/pull/20088) fix: datatype tracking issue on virtual dataset (@codemaster08240328)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashbaord unable to refresh (@zhaoyongjie)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashboard unable to refresh (@zhaoyongjie)
- [#20228](https://github.com/apache/superset/pull/20228) fix: failed samples should throw exception (@zhaoyongjie)
- [#20203](https://github.com/apache/superset/pull/20203) fix: move columns to datasource object for bootstrap data (@hughhhh)
- [#20151](https://github.com/apache/superset/pull/20151) fix(csv): Ensure df_to_escaped_csv does not coerce integer columns to float (@john-bodley)
@@ -191,7 +191,7 @@ under the License.
- [#20206](https://github.com/apache/superset/pull/20206) fix(sql lab): SQL Lab Compile Query Delay (@diegomedina248)
- [#20201](https://github.com/apache/superset/pull/20201) fix: unable to set destroyOnClose on ModalTrigger (@zhaoyongjie)
- [#20186](https://github.com/apache/superset/pull/20186) fix(db): make to allow to show/hide the password when only creating (@prosdev0107)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrival of tables and views from schema for exasol backend (@Nicoretti)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrieval of tables and views from schema for exasol backend (@Nicoretti)
- [#19899](https://github.com/apache/superset/pull/19899) fix: always create parameter json field (@pkdotson)
- [#20173](https://github.com/apache/superset/pull/20173) fix: avoid while cycle in computeMaxFontSize for big Number run forever when css rule applied (@diegomedina248)
- [#20086](https://github.com/apache/superset/pull/20086) fix(css): transparent linear gradient not working in safari (@stephenLYZ)
@@ -298,7 +298,7 @@ under the License.
- [#19570](https://github.com/apache/superset/pull/19570) fix: sqloxide optional (@betodealmeida)
- [#19397](https://github.com/apache/superset/pull/19397) fix: weight tooltip issue (@codemaster08240328)
- [#19313](https://github.com/apache/superset/pull/19313) fix(sql lab): increase the size of the action icons in the history tab (@diegomedina248)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hidding control (@stephenLYZ)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hiding control (@stephenLYZ)
- [#19444](https://github.com/apache/superset/pull/19444) fix: Error Message is cut off in alerts & reports log page (@codemaster08240328)
- [#19312](https://github.com/apache/superset/pull/19312) fix: adaptive formatting typo in explore dropdowns (@diegomedina248)
- [#19534](https://github.com/apache/superset/pull/19534) fix(explore): Chart header icon paddings (@kgabryje)
@@ -463,7 +463,7 @@ under the License.
- [#19486](https://github.com/apache/superset/pull/19486) refactor: Removes the CSS files from the Treemap plugin (@michael-s-molina)
- [#19488](https://github.com/apache/superset/pull/19488) refactor: Removes the CSS files from the Sunburst plugin (@michael-s-molina)
- [#19490](https://github.com/apache/superset/pull/19490) chore: Add theme color to ParallelCoordinates (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterbaleTableStyles.less (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterableTableStyles.less (@geido)
- [#19441](https://github.com/apache/superset/pull/19441) chore: Remove StyledQueryButton.less (@geido)
- [#19473](https://github.com/apache/superset/pull/19473) refactor: Removes the CSS files from the Rose plugin (@michael-s-molina)
- [#19466](https://github.com/apache/superset/pull/19466) chore: Removes hard-coded colors from legacy-plugin-chart-world-map (@michael-s-molina)
+166
View File
@@ -0,0 +1,166 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Release Notes for Superset 3.1.0
Superset 3.1.0 brings a range of new features and quality of life improvements. This release is a minor version, meaning it doesn't include any breaking changes to ensure a seamless transition for our users. Here are some of the highlights of this release.
### Waterfall chart
The new [Waterfall chart](https://github.com/apache/superset/pull/25557) visualization provides a visual representation of how a value changes over time or across different categories. They are very helpful to show the cumulative effect of positive and negative changes from a starting value. Superset's Waterfall chart supports Breakdowns which can be used to analyze the contribution of different dimensions or factors to a specific metric. By breaking down the data into various categories or dimensions, you can identify the individual components that contribute to the overall variation or change in the metric.
The chart example below displays the total sales grouped by year and broken down by product line.
![Waterfall](media/waterfall_chart.png)
### Bubble Chart ECharts version
The new ECharts [Bubble chart](https://github.com/apache/superset/pull/22107) offers feature parity with the previous NVD3 version which should be removed in the next major release. This work is part of the [ECharts migration effort](https://github.com/apache/superset/issues/10418) to increase consistency and quality of our plugins. We'll add a migration to the new plugin soon which you'll be able to execute using the new CLI command.
![Bubble](media/bubble_chart.png)
### Improved Dataset selectors
The [dataset selectors](https://github.com/apache/superset/pull/25569) have been improved to also display the database and schema names which will help users locate the correct dataset, particularly when there are multiple tables/datasets with the same name that could benefit from disambiguation.
![Dataset](media/dataset_selector.png)
### SQL Lab improvements
SQL Lab received many user experience and performance improvements in this release. Well continue to improve the capabilities of SQL Lab with feedback from the community.
Now users can [automatically format](https://github.com/apache/superset/pull/25344) their SQL queries using the `Ctrl+Shift+F` shortcut or the Format SQL menu option available in the SQL configuration panel. Another improvement is that the results panel now shows the [executed query](https://github.com/apache/superset/pull/24787) which is very helpful when your SQL Lab editor has multiple queries.
![SQL Formatting](media/sql_formatting.png)
In the SQL panel configurations, there's a menu option to show the [keyboard shortcuts](https://github.com/apache/superset/pull/25542) a user has access to.
![Keyboard Shortcuts](media/keyboard_shortcuts.png)
SQL Lab has launched a non-blocking persistence mode, as outlined in [SIP-93](https://github.com/apache/superset/issues/21385). This enhancement ensures that your SQL editor content is preserved, even if your internet or service goes offline. Moreover, it improves user interaction by saving changes in a non-blocking way, similar to how Google Docs does.
Finally, the [SQL Lab module was moved to the Single Page Application](https://github.com/apache/superset/pull/25151) context. This means that both navigation and loading time of that module is significantly faster than previous versions (particularly when navigating to and from this page from other pages in Superset). This also reduces the number of requests to the server and pays some of our technical debt. Try it out! The difference is quite impressive!
### Country Map improvements
The Country Map visualization received some improvements in this release. The community added [France's regions](https://github.com/apache/superset/pull/25676) in addition to its departments and also many [Central Asia countries](https://github.com/apache/superset/pull/24870).
<table>
<tr>
<td width="33%">France's regions</td>
<td width="33%">Kazakhstan</td>
<td width="33%">Kyrgyzstan</td>
</tr>
<tr>
<td width="33%"><img src="media/france.png" width="100%"/></td>
<td width="33%"><img src="media/kazakhstan.png" width="100%"></td>
<td width="33%"><img src="media/kyrgyzstan.png" width="100%"></td>
</tr>
<tr>
<td width="33%">Tajikistan</td>
<td width="33%">Turkmenistan</td>
<td width="33%">Uzbekistan</td>
</tr>
<tr>
<td width="33%"><img src="media/tajikistan.png" width="100%"/></td>
<td width="33%"><img src="media/turkmenistan.png" width="100%"></td>
<td width="33%"><img src="media/uzbekistan.png" width="100%"></td>
</tr>
</table>
### Deck.gl ContourLayer
We [added](https://github.com/apache/superset/pull/24154) the Deck.gl [ContourLayer](https://deck.gl/docs/api-reference/aggregation-layers/contour-layer) which aggregates data into Isolines or Isobands for a given threshold and cell size. By expanding the range of available [Deck.gl](https://deck.gl/) visualization layers, users will have more options to choose from when creating their visualizations. This will allow them to tailor their visualizations to their specific needs and explore their data in different ways.
![Contour](media/contour.png)
### New Databases
Superset has added support for two new databases:
- [Databend](https://databend.rs/), an open-source, elastic, and workload-aware cloud data warehouse built in Rust. You can see the PR [here](https://github.com/apache/superset/pull/23308), and the updated documentation [here](https://superset.apache.org/docs/databases/databend).
- [Apache Doris](https://doris.apache.org/), which is based on the MySQL protocol and introduces the concept of Multi Catalog. You can see the PR [here](https://github.com/apache/superset/pull/24714/) and the updated documentation [here](https://superset.apache.org/docs/databases/doris).
<table>
<tr>
<td width="50%"><img src="media/databend.png" width="100%"/></td>
<td width="50%"><img src="media/doris.png" width="100%"></td>
</tr>
</table>
### CLI command to execute viz migrations
A new [CLI command](https://github.com/apache/superset/pull/25304) called viz-migrations was added to allow users to migrate charts of a specific type. This command is particularly helpful to migrate visualizations to their latest version and at the same time disable their legacy versions with the `VIZ_TYPE_DENYLIST` configuration. The main advantage of this command is that you can migrate your visualizations without needing to wait for a major release, where we generally remove the legacy plugins.
Currently, you can use the command to migrate Area, Bubble, Line, and Sunburst chart types but we'll add more as the ECharts migrations continue. Note that migrations for deprecated charts may be forced in upcoming major versions when the code is removed. Running migrations earlier will allow you to de-risk future upgrades while improving user experience.
```bash
Usage: superset viz-migrations [OPTIONS] COMMAND [ARGS]...
Migrates a viz from one type to another.
Commands:
downgrade Downgrades a viz to the previous version.
upgrade Upgrade a viz to the latest version.
```
Note: When migrating dashboards from one Superset instance to another (using import/export features or the Superset CLI), or restoring a backup of prior charts and dashboards, Superset will apply the existing migrations that are used during version upgrades. This will ensure that your charts and dashboards are using the latest and greatest charts that Superset officially supports.
### Database engine spec improvements
Many database engine improvements were added in this release. Some highlights:
- [feat: improve SQLite DB engine spec](https://github.com/apache/superset/pull/24909)
- [feat: add MotherDuck DB engine spec](https://github.com/apache/superset/pull/24934)
- [feat: Add week time grain for Elasticsearch datasets](https://github.com/apache/superset/pull/25683)
- [feat: method for dynamic allows_alias_in_select](https://github.com/apache/superset/pull/25882)
We even added a new [CLI command](https://github.com/apache/superset/pull/24918) to test DB engine specs, SQLAlchemy dialects, and database connections.
```bash
Usage: superset test-db [OPTIONS] SQLALCHEMY_URI
Run a series of tests against an analytical database.
This command tests:
1. The Superset DB engine spec.
2. The SQLAlchemy dialect.
3. The database connectivity and performance.
It's useful for people developing DB engine specs and/or SQLAlchemy
dialects, and also to test new versions of DB API 2.0 drivers.
Options:
-c, --connect-args TEXT Connect args as JSON or YAML
--help Show this message and exit.
```
### Playwright as an alternative to Selenium
Per [SIP-98](https://github.com/apache/superset/issues/24948), we [introduced Playwright](https://github.com/apache/superset/pull/25247) for rendering charts in Superset reports. [Playwright](https://playwright.dev/) is an open-source library for automating web browsers, similar to Selenium but with better support for modern browser features and improved performance. By using Playwright, we aim to provide a more stable and accurate chart rendering experience in Superset reports, especially for [Deck.gl](https://deck.gl/) charts.
Since configuring Playwright requires installing additional dependencies, in order to prevent breaking changes in existing deployments, we put the new flow behind a feature flag called `PLAYWRIGHT_REPORTS_AND_THUMBNAILS`. Users that don't enable the feature flag will be unaffected by the changes.
### Pandas upgraded to v2
We [upgraded Pandas to v2](https://github.com/apache/superset/pull/24705) and [added performance dependencies](https://github.com/apache/superset/pull/24768) to provide speed improvements, especially when working with large data sets. For the full list of changes, check [Pandas 2.0.0 Release Notes](https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html).
### Tags
Tags evolved a lot since 3.0, with many PRs that further improved the feature. During this phase, the community also made [great suggestions](https://github.com/apache/superset/discussions/25918) to make sure the feature is scalable, adhere to our security model, and offer a consistent design. We're still working on this feedback and new improvements will follow. For that reason, we're keeping the feature as beta behind the `TAGGING_SYSTEM` feature flag.
Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1011 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

+1
View File
@@ -52,6 +52,7 @@ These features are **finished** but currently being tested. They are usable, but
- GENERIC_CHART_AXES
- GLOBAL_ASYNC_QUERIES [(docs)](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries)
- HORIZONTAL_FILTER_BAR
- PLAYWRIGHT_REPORTS_AND_THUMBNAILS
- RLS_IN_SQLLAB
- SSH_TUNNELING [(docs)](https://superset.apache.org/docs/installation/setup-ssh-tunneling)
- USE_ANALAGOUS_COLORS
+3
View File
@@ -43,6 +43,7 @@ Join our growing community!
- [KarrotPay](https://www.daangnpay.com/)
- [Wise](https://wise.com) [@koszti]
- [Xendit](http://xendit.co/) [@LieAlbertTriAdrian]
- [Taveo](https://www.taveo.com) [@codek]
### Gaming
- [Digit Game Studios](https://www.digitgaming.com/)
@@ -77,6 +78,7 @@ Join our growing community!
- [Careem](https://www.careem.com/) [@SamraHanifCareem]
- [Cloudsmith](https://cloudsmith.io) [@alancarson]
- [CnOvit](http://www.cnovit.com/) [@xieshaohu]
- [Cyberhaven](https://www.cyberhaven.com/) [@toliver-ch]
- [Deepomatic](https://deepomatic.com/) [@Zanoellia]
- [Dial Once](https://www.dial-once.com/)
- [Dremio](https://dremio.com) [@narendrans]
@@ -109,6 +111,7 @@ Join our growing community!
- [Steamroot](https://streamroot.io/)
- [TechAudit](https://www.techaudit.info) [@ETselikov]
- [Tenable](https://www.tenable.com) [@dflionis]
- [Tentacle](https://public.tentaclecmi.com) [@jdclarke5]
- [timbr.ai](https://timbr.ai/) [@semantiDan]
- [Tobii](http://www.tobii.com/) [@dwa]
- [Tooploox](https://www.tooploox.com/) [@jakubczaplicki]
+11 -11
View File
@@ -22,18 +22,18 @@ under the License.
This file documents any backwards-incompatible changes in Superset and
assists people when migrating to a new version.
## Next
## 3.1.0
- [24657](https://github.com/apache/superset/pull/24657): Bumps the cryptography package to augment the OpenSSL security vulnerability.
### Breaking Changes
### Potential Downtime
### Other
- [24982](https://github.com/apache/superset/pull/24982): By default, physical datasets on Oracle-like dialects like Snowflake will now use denormalized column names. However, existing datasets won't be affected. To change this behavior, the "Advanced" section on the dataset modal has a "Normalize column names" flag which can be changed to change this behavior.
## 3.0.3
- [26034](https://github.com/apache/superset/issues/26034): Fixes a problem where numeric x-axes were being treated as categorical values. As a consequence of that, the way labels are displayed might change given that ECharts has a different treatment for numerical and categorical values. To revert to the old behavior, users need to manually convert numerical columns to text so that they are treated as categories. Check https://github.com/apache/superset/issues/26159 for more details.
## 3.0.0
- [25053](https://github.com/apache/superset/pull/25053): Extends the `ab_user.email` column from 64 to 320 characters which has an associated unique key constraint. This will be problematic for MySQL metadata databases which use the InnoDB storage engine with the `innodb_large_prefix` parameter disabled as the key prefix limit is 767 bytes. Enabling said parameter and ensuring that the table uses either the `DYNAMIC` or `COMPRESSED` row format should remedy the problem. See [here](https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html) for more details.
@@ -49,7 +49,7 @@ assists people when migrating to a new version.
- [24404](https://github.com/apache/superset/pull/24404): FLASK_ENV is getting
deprecated, we recommend using SUPERSET_ENV and reviewing your
config for ENVIRONMENT_TAG_CONFIG, which enables adding a tag in the navbar to
make it more clear which envrionment your are in.
make it more clear which environment your are in.
`SUPERSET_ENV=production` and `SUPERSET_ENV=development` are the two
supported switches based on the default config.
- [19242](https://github.com/apache/superset/pull/19242): Adhoc subqueries are now disabled by default for security reasons. To enable them, set the feature flag `ALLOW_ADHOC_SUBQUERY` to `True`.
@@ -129,7 +129,7 @@ assists people when migrating to a new version.
## 2.0.1
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by Github. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by GitHub. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
## Breaking Changes
@@ -150,8 +150,8 @@ assists people when migrating to a new version.
- [19770](https://github.com/apache/superset/pull/19770): Per [SIP-11](https://github.com/apache/superset/issues/6032) and [SIP-68](https://github.com/apache/superset/issues/14909), the native NoSQL Druid connector is deprecated and has been removed. Druid is still supported through SQLAlchemy via pydruid. The config keys `DRUID_IS_ACTIVE` and `DRUID_METADATA_LINKS_ENABLED` have also been removed.
- [19274](https://github.com/apache/superset/pull/19274): The `PUBLIC_ROLE_LIKE_GAMMA` config key has been removed, set `PUBLIC_ROLE_LIKE = "Gamma"` to have the same functionality.
- [19273](https://github.com/apache/superset/pull/19273): The `SUPERSET_CELERY_WORKERS` and `SUPERSET_WORKERS` config keys has been removed. Configure Celery directly using `CELERY_CONFIG` on Superset.
- [19231](https://github.com/apache/superset/pull/19231): The `ENABLE_REACT_CRUD_VIEWS` feature flag has been removed (premantly enabled). Any deployments which had set this flag to false will need to verify that the React views support their use case.
- [19230](https://github.com/apache/superset/pull/19230): The `ROW_LEVEL_SECURITY` feature flag has been removed (permantly enabled). Any deployments which had set this flag to false will need to verify that the presence of the Row Level Security feature does not interfere with their use case.
- [19231](https://github.com/apache/superset/pull/19231): The `ENABLE_REACT_CRUD_VIEWS` feature flag has been removed (permanently enabled). Any deployments which had set this flag to false will need to verify that the React views support their use case.
- [19230](https://github.com/apache/superset/pull/19230): The `ROW_LEVEL_SECURITY` feature flag has been removed (permanently enabled). Any deployments which had set this flag to false will need to verify that the presence of the Row Level Security feature does not interfere with their use case.
- [19168](https://github.com/apache/superset/pull/19168): Celery upgrade to 5.X resulted in breaking changes to its command line invocation. Please follow [these](https://docs.celeryq.dev/en/stable/whatsnew-5.2.html#step-1-adjust-your-command-line-invocation) instructions for adjustments. Also consider migrating you Celery config per [here](https://docs.celeryq.dev/en/stable/userguide/configuration.html#conf-old-settings-map).
- [19142](https://github.com/apache/superset/pull/19142): The `VERSIONED_EXPORT` config key is now `True` by default.
- [19113](https://github.com/apache/superset/pull/19113): The `ENABLE_JAVASCRIPT_CONTROLS` config key has moved from an app config to a feature flag. Any deployments who overrode this setting will now need to override the feature flag from here onward.
@@ -166,7 +166,7 @@ assists people when migrating to a new version.
### Other
- [22022](https://github.com/apache/superset/pull/22022): HTTP API endpoints `/superset/approve` and `/superset/request_access` have been deprecated and their HTTP methods were changed from GET to POST
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by Github. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by GitHub. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
## 1.5.2
@@ -258,7 +258,7 @@ assists people when migrating to a new version.
### Other
- [13772](https://github.com/apache/superset/pull/13772): Row level security (RLS) is now enabled by default. To activate the feature, please run `superset init` to expose the RLS menus to Admin users.
- [13980](https://github.com/apache/superset/pull/13980): Data health checks no longer use the metadata database as an interim cache. Though non-breaking, deployments which implement complex logic should likely memoize the callback function. Refer to documentation in the confg.py file for more detail.
- [13980](https://github.com/apache/superset/pull/13980): Data health checks no longer use the metadata database as an interim cache. Though non-breaking, deployments which implement complex logic should likely memoize the callback function. Refer to documentation in the config.py file for more detail.
- [14255](https://github.com/apache/superset/pull/14255): The default `CSV_TO_HIVE_UPLOAD_DIRECTORY_FUNC` callable logic has been updated to leverage the specified database and schema to ensure the upload S3 key prefix is unique. Previously tables generated via upload from CSV with the same name but differ schema and/or cluster would use the same S3 key prefix. Note this change does not impact previously imported tables.
## 1.1.0
+9 -1
View File
@@ -35,6 +35,8 @@ services:
restart: unless-stopped
ports:
- "80:80"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
redis:
@@ -65,6 +67,8 @@ services:
restart: unless-stopped
ports:
- 8088:8088
extra_hosts:
- "host.docker.internal:host-gateway"
user: *superset-user
depends_on: *superset-depends-on
volumes: *superset-volumes
@@ -77,6 +81,8 @@ services:
image: superset-websocket
ports:
- 8080:8080
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- redis
# Mount everything in superset-websocket into container and
@@ -84,7 +90,7 @@ services:
# This is necessary because host and container need to have
# their own, separate versions of these files. .dockerignore
# does not seem to work when starting the service through
# docker-compose.
# docker compose.
#
# For example, node_modules may contain libs with native bindings.
# Those bindings need to be compiled for each OS and the container
@@ -129,6 +135,8 @@ services:
depends_on: *superset-depends-on
user: *superset-user
volumes: *superset-volumes
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD-SHELL", "celery -A superset.tasks.celery_app:app inspect ping -d celery@$$HOSTNAME"]
# Bump memory limit if processing selenium / thumbnails on superset-worker
+4 -4
View File
@@ -46,9 +46,9 @@ Steps:
1. Create `./docker/requirements-local.txt`
2. Add your new packages
3. Rebuild docker-compose
1. `docker-compose down -v`
2. `docker-compose up`
3. Rebuild docker compose
1. `docker compose down -v`
2. `docker compose up`
## Initializing Database
@@ -56,7 +56,7 @@ The database will initialize itself upon startup via the init container ([`super
## Normal Operation
To run the container, simply run: `docker-compose up`
To run the container, simply run: `docker compose up`
After waiting several minutes for Superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088)
to start your journey.
+8
View File
@@ -35,6 +35,14 @@ else
echo "Skipping local overrides"
fi
#
# playwright is an optional package - run only if it is installed
#
if command -v playwright > /dev/null 2>&1; then
playwright install-deps
playwright install chromium
fi
case "${1}" in
worker)
echo "Starting Celery worker..."
@@ -1,5 +1,5 @@
# ------------------------------------------------------------------------
# Creates the examples database and repective user. This database location
# Creates the examples database and respective user. This database location
# and access credentials are defined on the environment variables
# ------------------------------------------------------------------------
set -e
+5 -4
View File
@@ -4,10 +4,11 @@ ARG DOCKERIZE_VERSION=v0.7.0
RUN apk update --no-cache \
&& apk add --no-cache wget openssl \
&& wget -O - https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz | tar xzf - -C /usr/local/bin \
&& case "$(apk --print-arch)" in \
x86_64) ARCH=amd64 ;; \
aarch64) ARCH=arm64 ;; \
esac \
&& wget -O - https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-${ARCH}-${DOCKERIZE_VERSION}.tar.gz | tar xzf - -C /usr/local/bin \
&& apk del wget
USER 10001
ENTRYPOINT ["dockerize"]
CMD ["--help"]
+1 -1
View File
@@ -15,7 +15,7 @@ import { Alert } from 'antd';
Superset's public **REST API** follows the
[OpenAPI specification](https://swagger.io/specification/), and is
documented here. The docs bellow are generated using
documented here. The docs below are generated using
[Swagger React UI](https://www.npmjs.com/package/swagger-ui-react).
<Alert
+4 -4
View File
@@ -126,17 +126,17 @@ CYPRESS_BASE_URL=<your url> npm run cypress open
See [`superset-frontend/cypress_build.sh`](https://github.com/apache/superset/blob/master/superset-frontend/cypress_build.sh).
As an alternative you can use docker-compose environment for testing:
As an alternative you can use docker compose environment for testing:
Make sure you have added below line to your /etc/hosts file:
`127.0.0.1 db`
If you already have launched Docker environment please use the following command to assure a fresh database instance:
`docker-compose down -v`
`docker compose down -v`
Launch environment:
`CYPRESS_CONFIG=true docker-compose up`
`CYPRESS_CONFIG=true docker compose up`
It will serve backend and frontend on port 8088.
@@ -176,7 +176,7 @@ superset:
Start Superset as usual
```bash
docker-compose up
docker compose up
```
Install the required libraries and packages to the docker container
+1 -1
View File
@@ -58,7 +58,7 @@ for your target language already exists in the `superset/translations` directory
ls superset/translations | grep -E "^[a-z]{2}\/"
```
If your language already has a pre-existing translation, skip to the next section
If your language already has a preexisting translation, skip to the next section
The following languages are already supported by Flask AppBuilder, and will make it
easier to translate the application to your target language:
@@ -19,7 +19,7 @@ The best way to report a bug is to file an issue on GitHub. Please include:
When posting Python stack traces, please quote them using
[Markdown blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/).
_Please note that feature requests opened as Github Issues will be moved to Discussions._
_Please note that feature requests opened as GitHub Issues will be moved to Discussions._
### Submit Ideas or Feature Requests
@@ -51,7 +51,7 @@ articles. See [Documentation](#documentation) for more details.
### Add Translations
If you are proficient in a non-English language, you can help translate
text strings from Superset's UI. You can jump in to the existing
text strings from Superset's UI. You can jump into the existing
language dictionaries at
`superset/translations/<language_code>/LC_MESSAGES/messages.po`, or
even create a dictionary for a new language altogether.
@@ -40,7 +40,7 @@ Then select your database type in the resulting modal:
<img src={useBaseUrl("/img/tutorial/tutorial_02_select_database.png" )} width="600" />{" "} <br/><br/>
Once you've selected a database, you can configure a number of advanced options in this window,
or for the purposes of this this walkthrough, you can click the link below all these fields:
or for the purposes of this walkthrough, you can click the link below all these fields:
<img src={useBaseUrl("/img/tutorial/tutorial_03a_database_connection_string_link.png" )} width="600" />{" "} <br/><br/>
+1 -1
View File
@@ -13,7 +13,7 @@ The recommended connector library for BigQuery is
### Install BigQuery Driver
Follow the steps [here](/docs/databases/docker-add-drivers) about how to
install new database drivers when setting up Superset locally via docker-compose.
install new database drivers when setting up Superset locally via docker compose.
```
echo "sqlalchemy-bigquery" >> ./docker/requirements-local.txt
+23
View File
@@ -0,0 +1,23 @@
---
title: Databend
hide_title: true
sidebar_position: 39
version: 1
---
## Databend
The recommended connector library for Databend is [databend-sqlalchemy](https://pypi.org/project/databend-sqlalchemy/).
Superset has been tested on `databend-sqlalchemy>=0.2.3`.
The recommended connection string is:
```
databend://{username}:{password}@{host}:{port}/{database_name}
```
Here's a connection string example of Superset connecting to a Databend database:
```
databend://user:password@localhost:8000/default?secure=false
```
+5 -5
View File
@@ -8,7 +8,7 @@ version: 1
## Adding New Database Drivers in Docker
Superset requires a Python database driver to be installed for each additional type of database you
want to connect to. When setting up Superset locally via `docker-compose`, the drivers and packages
want to connect to. When setting up Superset locally via `docker compose`, the drivers and packages
contained in
[requirements.txt](https://github.com/apache/superset/blob/master/requirements.txt) and
[requirements-dev.txt](https://github.com/apache/superset/blob/master/requirements-dev.txt)
@@ -50,20 +50,20 @@ echo "mysqlclient" >> ./docker/requirements-local.txt
Rebuild your local image with the new driver baked in:
```
docker-compose build --force-rm
docker compose build --force-rm
```
After the rebuild of the Docker images is complete (which may take a few minutes) you can relaunch using the following command:
```
docker-compose up
docker compose up
```
The other option is to start Superset via Docker Compose is using the recipe in `docker-compose-non-dev.yml`, which will use pre-built frontend assets and skip the building of front-end assets:
```
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
docker compose -f docker-compose-non-dev.yml pull
docker compose -f docker-compose-non-dev.yml up
```
### 3. Connect to MySQL
+26
View File
@@ -0,0 +1,26 @@
---
title: Apache Doris
hide_title: true
sidebar_position: 5
version: 1
---
## Doris
The [sqlalchemy-doris](https://pypi.org/project/pydoris/) library is the recommended way to connect to Apache Doris through SQLAlchemy.
You'll need the following setting values to form the connection string:
- **User**: User Name
- **Password**: Password
- **Host**: Doris FE Host
- **Port**: Doris FE port
- **Catalog**: Catalog Name
- **Database**: Database Name
Here's what the connection string looks like:
```
doris://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>
```
@@ -22,47 +22,48 @@ as well as the packages needed to connect to the databases you want to access th
Some of the recommended packages are shown below. Please refer to [setup.py](https://github.com/apache/superset/blob/master/setup.py) for the versions that are compatible with Superset.
| Database | PyPI package | Connection String |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| [Amazon Athena](/docs/databases/athena) | `pip install pyathena[pandas]` , `pip install PyAthenaJDBC` | `awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{ ` |
| [Amazon DynamoDB](/docs/databases/dynamodb) | `pip install pydynamodb` | `dynamodb://{access_key_id}:{secret_access_key}@dynamodb.{region_name}.amazonaws.com?connector=superset` |
| [Amazon Redshift](/docs/databases/redshift) | `pip install sqlalchemy-redshift` | ` redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>` |
| [Apache Drill](/docs/databases/drill) | `pip install sqlalchemy-drill` | `drill+sadrill:// For JDBC drill+jdbc://` |
| [Apache Druid](/docs/databases/druid) | `pip install pydruid` | `druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql` |
| [Apache Hive](/docs/databases/hive) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Apache Impala](/docs/databases/impala) | `pip install impyla` | `impala://{hostname}:{port}/{database}` |
| [Apache Kylin](/docs/databases/kylin) | `pip install kylinpy` | `kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>` |
| [Apache Pinot](/docs/databases/pinot) | `pip install pinotdb` | `pinot://BROKER:5436/query?server=http://CONTROLLER:5983/` |
| [Apache Solr](/docs/databases/solr) | `pip install sqlalchemy-solr` | `solr://{username}:{password}@{hostname}:{port}/{server_path}/{collection}` |
| [Apache Spark SQL](/docs/databases/spark-sql) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Ascend.io](/docs/databases/ascend) | `pip install impyla` | `ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true` |
| [Azure MS SQL](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema` |
| [Big Query](/docs/databases/bigquery) | `pip install sqlalchemy-bigquery` | `bigquery://{project_id}` |
| [ClickHouse](/docs/databases/clickhouse) | `pip install clickhouse-connect` | `clickhousedb://{username}:{password}@{hostname}:{port}/{database}` |
| [CockroachDB](/docs/databases/cockroachdb) | `pip install cockroachdb` | `cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable` |
| [Dremio](/docs/databases/dremio) | `pip install sqlalchemy_dremio` | `dremio://user:pwd@host:31010/` |
| [Elasticsearch](/docs/databases/elasticsearch) | `pip install elasticsearch-dbapi` | `elasticsearch+http://{user}:{password}@{host}:9200/` |
| [Exasol](/docs/databases/exasol) | `pip install sqlalchemy-exasol` | `exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC` |
| [Google Sheets](/docs/databases/google-sheets) | `pip install shillelagh[gsheetsapi]` | `gsheets://` |
| [Firebolt](/docs/databases/firebolt) | `pip install firebolt-sqlalchemy` | `firebolt://{username}:{password}@{database} or firebolt://{username}:{password}@{database}/{engine_name}` |
| [Hologres](/docs/databases/hologres) | `pip install psycopg2` | `postgresql+psycopg2://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [IBM Db2](/docs/databases/ibm-db2) | `pip install ibm_db_sa` | `db2+ibm_db://` |
| [IBM Netezza Performance Server](/docs/databases/netezza) | `pip install nzalchemy` | `netezza+nzpy://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](/docs/databases/mysql) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Oracle](/docs/databases/oracle) | `pip install cx_Oracle` | `oracle://` |
| [PostgreSQL](/docs/databases/postgres) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Presto](/docs/databases/presto) | `pip install pyhive` | `presto://` |
| [Rockset](/docs/databases/rockset) | `pip install rockset-sqlalchemy` | `rockset://<api_key>:@<api_server>`
| [SAP Hana](/docs/databases/hana) | `pip install hdbcli sqlalchemy-hana or pip install apache-superset[hana]` | `hana://{username}:{password}@{host}:{port}` |
| [StarRocks](/docs/databases/starrocks) | `pip install starrocks` | `starrocks://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Snowflake](/docs/databases/snowflake) | `pip install snowflake-sqlalchemy` | `snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}` |
| SQLite | No additional library needed | `sqlite://` |
| [SQL Server](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://` |
| [Teradata](/docs/databases/teradata) | `pip install teradatasqlalchemy` | `teradatasql://{user}:{password}@{host}` |
| [TimescaleDB](/docs/databases/timescaledb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>:<Port>/<Database Name>` |
| [Trino](/docs/databases/trino) | `pip install trino` | `trino://{username}:{password}@{hostname}:{port}/{catalog}` |
| [Vertica](/docs/databases/vertica) | `pip install sqlalchemy-vertica-python` | `vertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [YugabyteDB](/docs/databases/yugabytedb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| Database | PyPI package | Connection String |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [Amazon Athena](/docs/databases/athena) | `pip install pyathena[pandas]` , `pip install PyAthenaJDBC` | `awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&... ` |
| [Apache Doris](/docs/databases/doris) | `pip install pydoris` | `doris://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Amazon DynamoDB](/docs/databases/dynamodb) | `pip install pydynamodb` | `dynamodb://{access_key_id}:{secret_access_key}@dynamodb.{region_name}.amazonaws.com?connector=superset` |
| [Amazon Redshift](/docs/databases/redshift) | `pip install sqlalchemy-redshift` | ` redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>` |
| [Apache Drill](/docs/databases/drill) | `pip install sqlalchemy-drill` | `drill+sadrill:// For JDBC drill+jdbc://` |
| [Apache Druid](/docs/databases/druid) | `pip install pydruid` | `druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql` |
| [Apache Hive](/docs/databases/hive) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Apache Impala](/docs/databases/impala) | `pip install impyla` | `impala://{hostname}:{port}/{database}` |
| [Apache Kylin](/docs/databases/kylin) | `pip install kylinpy` | `kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>` |
| [Apache Pinot](/docs/databases/pinot) | `pip install pinotdb` | `pinot://BROKER:5436/query?server=http://CONTROLLER:5983/` |
| [Apache Solr](/docs/databases/solr) | `pip install sqlalchemy-solr` | `solr://{username}:{password}@{hostname}:{port}/{server_path}/{collection}` |
| [Apache Spark SQL](/docs/databases/spark-sql) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Ascend.io](/docs/databases/ascend) | `pip install impyla` | `ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true` |
| [Azure MS SQL](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema` |
| [Big Query](/docs/databases/bigquery) | `pip install sqlalchemy-bigquery` | `bigquery://{project_id}` |
| [ClickHouse](/docs/databases/clickhouse) | `pip install clickhouse-connect` | `clickhousedb://{username}:{password}@{hostname}:{port}/{database}` |
| [CockroachDB](/docs/databases/cockroachdb) | `pip install cockroachdb` | `cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable` |
| [Dremio](/docs/databases/dremio) | `pip install sqlalchemy_dremio` | `dremio://user:pwd@host:31010/` |
| [Elasticsearch](/docs/databases/elasticsearch) | `pip install elasticsearch-dbapi` | `elasticsearch+http://{user}:{password}@{host}:9200/` |
| [Exasol](/docs/databases/exasol) | `pip install sqlalchemy-exasol` | `exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC` |
| [Google Sheets](/docs/databases/google-sheets) | `pip install shillelagh[gsheetsapi]` | `gsheets://` |
| [Firebolt](/docs/databases/firebolt) | `pip install firebolt-sqlalchemy` | `firebolt://{username}:{password}@{database} or firebolt://{username}:{password}@{database}/{engine_name}` |
| [Hologres](/docs/databases/hologres) | `pip install psycopg2` | `postgresql+psycopg2://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [IBM Db2](/docs/databases/ibm-db2) | `pip install ibm_db_sa` | `db2+ibm_db://` |
| [IBM Netezza Performance Server](/docs/databases/netezza) | `pip install nzalchemy` | `netezza+nzpy://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](/docs/databases/mysql) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Oracle](/docs/databases/oracle) | `pip install cx_Oracle` | `oracle://` |
| [PostgreSQL](/docs/databases/postgres) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Presto](/docs/databases/presto) | `pip install pyhive` | `presto://` |
| [Rockset](/docs/databases/rockset) | `pip install rockset-sqlalchemy` | `rockset://<api_key>:@<api_server>` |
| [SAP Hana](/docs/databases/hana) | `pip install hdbcli sqlalchemy-hana or pip install apache-superset[hana]` | `hana://{username}:{password}@{host}:{port}` |
| [StarRocks](/docs/databases/starrocks) | `pip install starrocks` | `starrocks://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Snowflake](/docs/databases/snowflake) | `pip install snowflake-sqlalchemy` | `snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}` |
| SQLite | No additional library needed | `sqlite://path/to/file.db?check_same_thread=false` |
| [SQL Server](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://` |
| [Teradata](/docs/databases/teradata) | `pip install teradatasqlalchemy` | `teradatasql://{user}:{password}@{host}` |
| [TimescaleDB](/docs/databases/timescaledb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>:<Port>/<Database Name>` |
| [Trino](/docs/databases/trino) | `pip install trino` | `trino://{username}:{password}@{hostname}:{port}/{catalog}` |
| [Vertica](/docs/databases/vertica) | `pip install sqlalchemy-vertica-python` | `vertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [YugabyteDB](/docs/databases/yugabytedb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
---
Note that many other databases are supported, the main criteria being the existence of a functional
+2 -1
View File
@@ -17,7 +17,8 @@ mysql://{username}:{password}@{host}/{database}
Host:
- For Localhost or Docker running Linux: `localhost` or `127.0.0.1`
- For Localhost: `localhost` or `127.0.0.1`
- Docker running on Linux: `172.18.0.1`
- For On Prem: IP address or Host name
- For Docker running in OSX: `docker.for.mac.host.internal`
Port: `3306` by default
+6
View File
@@ -14,3 +14,9 @@ The expected connection string is formatted as follows:
```
pinot+http://<pinot-broker-host>:<pinot-broker-port>/query?controller=http://<pinot-controller-host>:<pinot-controller-port>/``
```
The expected connection string using username and password is formatted as follows:
```
pinot://<username>:<password>@<pinot-broker-host>:<pinot-broker-port>/query/sql?controller=http://<pinot-controller-host>:<pinot-controller-port>/verify_ssl=true``
```
+1 -1
View File
@@ -7,7 +7,7 @@ version: 1
## Postgres
Note that, if you're using docker-compose, the Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
Note that, if you're using docker compose, the Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
comes out of the box with Superset.
Postgres sample connection parameters:
+2 -2
View File
@@ -10,7 +10,7 @@ version: 1
### Install Snowflake Driver
Follow the steps [here](/docs/databases/docker-add-drivers) about how to
install new database drivers when setting up Superset locally via docker-compose.
install new database drivers when setting up Superset locally via docker compose.
```
echo "snowflake-sqlalchemy" >> ./docker/requirements-local.txt
@@ -40,7 +40,7 @@ button in the Create or Edit Database dialog, user/role credentials are validate
is not authorized to access the database, an error is recorded in the Superset logs.
And if you want connect Snowflake with [Key Pair Authentication](https://docs.snowflake.com/en/user-guide/key-pair-auth.html#step-6-configure-the-snowflake-client-to-use-key-pair-authentication).
Plase make sure you have the key pair and the public key is registered in Snowflake.
Please make sure you have the key pair and the public key is registered in Snowflake.
To connect Snowflake with Key Pair Authentication, you need to add the following parameters to "SECURE EXTRA" field.
***Please note that you need to merge multi-line private key content to one line and insert `\n` between each line***
+1 -1
View File
@@ -19,5 +19,5 @@ It is also possible to connect using [pyodbc](https://pypi.org/project/pyodbc) w
The connection string for SQL Server looks like this:
```
mssql+pyodbc:///?odbc_connect=Driver%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BServer%3Dtcp%3A%3Cmy_server%3E%2C1433%3BDatabase%3Dmy_datasbase%3BUid%3Dmy_user_name%3BPwd%3Dmy_password%3BEncrypt%3Dyes%3BConnection+Timeout%3D30
mssql+pyodbc:///?odbc_connect=Driver%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BServer%3Dtcp%3A%3Cmy_server%3E%2C1433%3BDatabase%3Dmy_database%3BUid%3Dmy_user_name%3BPwd%3Dmy_password%3BEncrypt%3Dyes%3BConnection+Timeout%3D30
```
+1 -1
View File
@@ -9,7 +9,7 @@ version: 1
[TimescaleDB](https://www.timescale.com) is the open-source relational database for time-series and analytics to build powerful data-intensive applications.
TimescaleDB is a PostgreSQL extension, and you can use the standard PostgreSQL connector library, [psycopg2](https://www.psycopg.org/docs/), to connect to the database.
If you're using docker-compose, psycopg2 comes out of the box with Superset.
If you're using docker compose, psycopg2 comes out of the box with Superset.
TimescaleDB sample connection parameters:
+1 -1
View File
@@ -9,7 +9,7 @@ version: 1
[YugabyteDB](https://www.yugabyte.com/) is a distributed SQL database built on top of PostgreSQL.
Note that, if you're using docker-compose, the
Note that, if you're using docker compose, the
Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
comes out of the box with Superset.
+16 -44
View File
@@ -95,49 +95,6 @@ to **.env** and **.env-non-dev** at the key MAPBOX_API_KEY:
MAPBOX_API_KEY = "longstringofalphanumer1c"
```
### How to add dynamic filters to a dashboard?
Use the **Filter Box** widget, build a slice, and add it to your dashboard.
The **Filter Box** widget allows you to define a query to populate dropdowns that can be used for
filtering. To build the list of distinct values, we run a query, and sort the result by the metric
you provide, sorting descending.
The widget also has a checkbox **Date Filter**, which enables time filtering capabilities to your
dashboard. After checking the box and refreshing, youll see a from and a to dropdown show up.
By default, the filtering will be applied to all the slices that are built on top of a datasource
that shares the column name that the filter is based on. Its also a requirement for that column to
be checked as “filterable” in the column tab of the table editor.
But what about if you dont want certain widgets to get filtered on your dashboard? You can do that
by editing your dashboard, and in the form, edit the JSON Metadata field, more specifically the
`filter_immune_slices` key, that receives an array of sliceIds that should never be affected by any
dashboard level filtering.
```
{
"filter_immune_slices": [324, 65, 92],
"expanded_slices": {},
"filter_immune_slice_fields": {
"177": ["country_name", "__time_range"],
"32": ["__time_range"]
},
"timed_refresh_immune_slices": [324]
}
```
In the json blob above, slices 324, 65 and 92 wont be affected by any dashboard level filtering.
Now note the `filter_immune_slice_fields` key. This one allows you to be more specific and define
for a specific slice_id, which filter fields should be disregarded.
Note the use of the `__time_range` keyword, which is reserved for dealing with the time boundary
filtering mentioned above.
But what happens with filtering when dealing with slices coming from different tables or databases?
If the column name is shared, the filter will be applied, its as simple as that.
### How to limit the timed refresh on a dashboard?
By default, the dashboard timed refresh feature allows you to automatically re-query every slice on
@@ -185,7 +142,7 @@ Another workaround is to change where superset stores the sqlite database by add
`superset_config.py`:
```
SQLALCHEMY_DATABASE_URI = 'sqlite:////new/location/superset.db'
SQLALCHEMY_DATABASE_URI = 'sqlite:////new/location/superset.db?check_same_thread=false'
```
You can read more about customizing Superset using the configuration file
@@ -295,6 +252,13 @@ guarantees and are not recommended but may fit your use case temporarily:
- using the internal FAB ModelView API (to be deprecated in Superset)
- altering the source code in your fork
### How can I see usage statistics (e.g., monthly active users)?
This functionality is not included with Superset, but you can extract and analyze Superset's application
metadata to see what actions have occurred. By default, user activities are logged in the `logs` table
in Superset's metadata database. One company has published a write-up of [how they analyzed Superset
usage, including example queries](https://engineering.hometogo.com/monitor-superset-usage-via-superset-c7f9fba79525).
### What Does Hours Offset in the Edit Dataset view do?
In the Edit Dataset view, you can specify a time offset. This field lets you configure the
@@ -306,3 +270,11 @@ This can be used, for example, to convert UTC time to local time.
Superset uses [Scarf](https://about.scarf.sh/) by default to collect basic telemetry data upon installing and/or running Superset. This data helps the maintainers of Superset better understand which versions of Superset are being used, in order to prioritize patch/minor releases and security fixes.
We use the [Scarf Gateway](https://docs.scarf.sh/gateway/) to sit in front of container registries, and the [scarf-js](https://about.scarf.sh/package-sdks) package to track `npm` installations.
Scarf purges PII and provides aggregated statistics. Superset users can easily opt out of analytics in various ways documented [here](https://docs.scarf.sh/gateway/#do-not-track) and [here](https://docs.scarf.sh/package-analytics/#as-a-user-of-a-package-using-scarf-js-how-can-i-opt-out-of-analytics). Additional opt-out instructions for Docker users are available on the [Docker Installation](https://superset.apache.org/docs/installation/installing-superset-using-docker-compose) page.
### Does Superset have an archive panel or trash bin from which a user can recover deleted assets?
No. Currently, there is no way to recover a deleted Superset dashboard/chart/dataset/database from the UI. However, there is an [ongoing discussion](https://github.com/apache/superset/discussions/18386) about implementing such a feature.
Hence, it is recommended to take periodic backups of the metadata database. For recovery, you can launch a recovery instance of a Superset server with the backed-up copy of the DB attached and use the Export Dashboard button in the Superset UI (or the `superset export-dashboards` CLI command). Then, take the .zip file and import it into the current Superset instance.
Alternatively, you can programmatically take regular exports of the assets as a backup.
+16 -19
View File
@@ -41,7 +41,7 @@ Note: All the components required (Firefox headless browser, Redis, Postgres db,
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:2.0.1`, 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.
You can either install and configure the headless browser - see "Custom Dockerfile" section below - or when deploying via `docker-compose`, modify your `docker-compose.yml` file to use a dev image for the worker container and a stable release image for the `superset_app` container.
You can either install and configure the headless browser - see "Custom Dockerfile" section below - or when deploying via `docker compose`, modify your `docker-compose.yml` file to use a dev image for the worker container and a stable release image for the `superset_app` container.
*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 `2.0.1-dev` is identical to `2.0.1` 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.
@@ -68,7 +68,7 @@ Note: when you configure an alert or a report, the Slack channel list takes chan
- 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.
#### Docker-compose specific
#### Docker Compose specific
##### You must have in your `docker-compose.yml`
@@ -104,30 +104,27 @@ REDIS_HOST = "superset_cache"
REDIS_PORT = "6379"
class CeleryConfig:
broker_url = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
imports = ('superset.sql_lab', "superset.tasks", "superset.tasks.thumbnails", )
result_backend = 'redis://%s:%s/0' % (REDIS_HOST, REDIS_PORT)
broker_url = f"redis://{REDIS_HOST}:{REDIS_PORT}/0"
imports = (
"superset.sql_lab",
"superset.tasks.scheduler",
)
result_backend = f"redis://{REDIS_HOST}:{REDIS_PORT}/0"
worker_prefetch_multiplier = 10
task_acks_late = True
task_annotations = {
'sql_lab.get_sql_results': {
'rate_limit': '100/s',
},
'email_reports.send': {
'rate_limit': '1/s',
'time_limit': 600,
'soft_time_limit': 600,
'ignore_result': True,
"sql_lab.get_sql_results": {
"rate_limit": "100/s",
},
}
beat_schedule = {
'reports.scheduler': {
'task': 'reports.scheduler',
'schedule': crontab(minute='*', hour='*'),
"reports.scheduler": {
"task": "reports.scheduler",
"schedule": crontab(minute="*", hour="*"),
},
'reports.prune_log': {
'task': 'reports.prune_log',
'schedule': crontab(minute=0, hour=0),
"reports.prune_log": {
"task": "reports.prune_log",
"schedule": crontab(minute=0, hour=0),
},
}
CELERY_CONFIG = CeleryConfig
@@ -23,30 +23,17 @@ and web server processes should have the same configuration.
```python
class CeleryConfig(object):
broker_url = 'redis://localhost:6379/0'
broker_url = "redis://localhost:6379/0"
imports = (
'superset.sql_lab',
'superset.tasks',
"superset.sql_lab",
"superset.tasks.scheduler",
)
result_backend = 'redis://localhost:6379/0'
worker_log_level = 'DEBUG'
result_backend = "redis://localhost:6379/0"
worker_prefetch_multiplier = 10
task_acks_late = True
task_annotations = {
'sql_lab.get_sql_results': {
'rate_limit': '100/s',
},
'email_reports.send': {
'rate_limit': '1/s',
'time_limit': 120,
'soft_time_limit': 150,
'ignore_result': True,
},
}
beat_schedule = {
'email_reports.schedule_hourly': {
'task': 'email_reports.schedule_hourly',
'schedule': crontab(minute=1, hour='*'),
"sql_lab.get_sql_results": {
"rate_limit": "100/s",
},
}
+4 -1
View File
@@ -114,7 +114,10 @@ from s3cache.s3cache import S3Cache
class CeleryConfig(object):
broker_url = "redis://localhost:6379/0"
imports = ("superset.sql_lab", "superset.tasks", "superset.tasks.thumbnails")
imports = (
"superset.sql_lab",
"superset.tasks.thumbnails",
)
result_backend = "redis://localhost:6379/0"
worker_prefetch_multiplier = 10
task_acks_late = True
@@ -9,8 +9,22 @@ version: 1
### Configuration
To configure your application, you need to create a file `superset_config.py` and add it to your
`PYTHONPATH`. If your application was installed using docker-compose an alternative configuration is required. See [https://github.com/apache/superset/tree/master/docker#readme](https://github.com/apache/superset/tree/master/docker#readme) for details.
To configure your application, you need to create a file `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:
```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:
```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.
The following is an example of just a few of the parameters you can set in your `superset_config.py` file:
```
@@ -31,7 +45,9 @@ SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'
# The check_same_thread=false property ensures the sqlite client does not attempt
# to enforce single-threaded access, which may be problematic in some edge cases
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db?check_same_thread=false'
# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
@@ -149,6 +165,11 @@ If you're not using Gunicorn, you may want to disable the use of `flask-compress
Currently, 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
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
If you are running superset behind a load balancer or reverse proxy (e.g. NGINX or ELB on AWS), you
@@ -169,8 +190,9 @@ RequestHeader set X-Forwarded-Proto "https"
### Custom OAuth2 Configuration
Beyond FAB supported providers (GitHub, Twitter, LinkedIn, Google, Azure, etc), its easy to connect
Superset with other OAuth2 Authorization Server implementations that support “code” authorization.
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
with other OAuth2 Authorization Server implementations that support “code” authorization.
Make sure the pip package [`Authlib`](https://authlib.org/) is installed on the webserver.
@@ -265,6 +287,42 @@ CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
]
```
### 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
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
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".
AUTH_ROLES_MAPPING = {
"superset_users": ["Gamma","Alpha"],
"superset_admins": ["Admin"],
}
#### 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".
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 refer (FAB Security documentation)[https://flask-appbuilder.readthedocs.io/en/latest/security.html].
#### 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.
### Flask app Configuration Hook
`FLASK_APP_MUTATOR` is a configuration function that can be provided in your environment, receives
@@ -64,7 +64,11 @@ We don't recommend using the system installed Python. Instead, first install the
brew install readline pkg-config libffi openssl mysql postgresql@14
```
You should install a recent version of Python (the official docker image uses 3.8.16). We'd recommend using a Python version manager like [pyenv](https://github.com/pyenv/pyenv) (and also [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)).
You should install a recent version of Python. Refer to the (setup.py file)[https://github.com/apache/superset/blob/master/setup.py] for a list of Python versions officially supported by Superset. We'd recommend using a Python version manager like [pyenv](https://github.com/pyenv/pyenv) (and also [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)).
:::tip
To identify the Python version used by the official docker image, see the [Dockerfile](https://github.com/apache/superset/blob/master/Dockerfile). Additional docker images published for newer versions of Python can be found in [this file](https://github.com/apache/superset/blob/master/.github/workflows/docker_build_push.sh).
:::
Let's also make sure we have the latest version of `pip` and `setuptools`:
@@ -16,7 +16,7 @@ below.
**Mac OSX**
[Install Docker for Mac](https://docs.docker.com/docker-for-mac/install/), which includes the Docker
engine and a recent version of `docker-compose` out of the box.
engine and a recent version of `docker compose` out of the box.
Once you have Docker for Mac installed, open up the preferences pane for Docker, go to the
"Resources" section and increase the allocated memory to 6GB. With only the 2GB of RAM allocated by
@@ -25,9 +25,9 @@ default, Superset will fail to start.
**Linux**
[Install Docker on Linux](https://docs.docker.com/engine/install/) by following Dockers
instructions for whichever flavor of Linux suits you. Because `docker-compose` is not installed as
instructions for whichever flavor of Linux suits you. Because `docker compose` is not installed as
part of the base Docker installation on Linux, once you have a working engine, follow the
[docker-compose installation instructions](https://docs.docker.com/compose/install/) for Linux.
[docker compose installation instructions](https://docs.docker.com/compose/install/) for Linux.
**Windows**
@@ -62,41 +62,49 @@ When working on master branch, run the following commands to run `development` m
```bash
docker compose up
```
:::tip
When running in development mode the `superset-node` container needs to finish building assets in order for the UI to render properly. If you would just like to try out Superset without making any code changes follow the steps documented for `production` or a specific version below.
:::
When working on master branch, run the following commands to run `production` mode using `docker compose`:
```bash
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
docker compose -f docker-compose-non-dev.yml pull
docker compose -f docker-compose-non-dev.yml up
```
Alternatively, you can also run a specific version of Superset by first checking out
the branch/tag, and then starting `docker-compose` with the `TAG` variable.
For example, to run the 2.1.0 version, run the following commands:
the branch/tag, and then starting `docker compose` with the `TAG` variable.
For example, to run the 3.0.0 version, run the following commands on Linux-based systems:
```bash
git checkout 2.1.0
TAG=2.1.0 docker-compose -f docker-compose-non-dev.yml pull
TAG=2.1.0 docker-compose -f docker-compose-non-dev.yml up
git checkout 3.0.0
TAG=3.0.0 docker compose -f docker-compose-non-dev.yml pull
TAG=3.0.0 docker compose -f docker-compose-non-dev.yml up
```
If you are using Docker Desktop for Windows then run the following commands:
```bash
git checkout 3.0.0
set TAG=3.0.0
docker compose -f docker-compose-non-dev.yml pull
docker compose -f docker-compose-non-dev.yml up
```
:::tip
Note that some configuration is mandatory for production instances of Superset. In particular, Superset will not start without a user-specified value of `SECRET_KEY`. Please see [Configuring Superset](https://superset.apache.org/docs/installation/configuring-superset/).
Note that some configuration is mandatory for production instances of Superset. In particular, Superset will not start without a user-specified value of `SECRET_KEY` in a Superset config file or `SUPERSET_SECRET_KEY` as an [environment variable](https://github.com/apache/superset/blob/master/docker/.env-non-dev). Please see [Configuring Superset](https://superset.apache.org/docs/installation/configuring-superset/) for more details.
:::
:::caution
All of the content belonging to a Superset instance - charts, dashboards, users, etc. - is stored in its metadata database. In production, this database should be backed up.
The default installation with docker-compose will store that data in a PostgreSQL database contained in a Docker [volume](https://docs.docker.com/storage/volumes/),
The default installation with docker compose will store that data in a PostgreSQL database contained in a Docker [volume](https://docs.docker.com/storage/volumes/),
which is not backed up. To avoid risking data loss, either use a managed database for your metadata (recommended) or perform your own regular backups by extracting
and storing the contents of the default PostgreSQL database from its volume (here's an
[example of how to dump and restore](https://stackoverflow.com/questions/24718706/backup-restore-a-dockerized-postgresql-database)).
:::
You should see a wall of logging output from the containers being launched on your machine. Once
this output slows, you should have a running instance of Superset on your local machine! To
avoid the wall of text on future runs, add the `-d` option to the end of the `docker-compose up` command.
**Note:** This will bring up superset in a non-dev mode, changes to the codebase will not be reflected.
If you would like to run superset in dev mode to test local changes, simply replace the previous command with: `docker-compose up`,
and wait for the `superset_node` container to finish building the assets.
avoid the wall of text on future runs, add the `-d` option to the end of the `docker compose up` command.
#### Configuring Docker Compose
@@ -104,7 +112,7 @@ The following is for users who want to configure how Superset runs in Docker Com
You can install additional python packages and apply config overrides by following the steps mentioned in [docker/README.md](https://github.com/apache/superset/tree/master/docker#configuration)
You can configure the Docker Compose environment varirables for dev and non-dev mode with `docker/.env` and `docker/.env-non-dev` respectively. These environment files set the environment for most containers in the Docker Compose setup, and some variables affect multiple containers and others only single ones.
You can configure the Docker Compose environment variables for dev and non-dev mode with `docker/.env` and `docker/.env-non-dev` respectively. These environment files set the environment for most containers in the Docker Compose setup, and some variables affect multiple containers and others only single ones.
One important variable is `SUPERSET_LOAD_EXAMPLES` which determines whether the `superset_init` container will populate example data and visualizations into the metadata database. These examples are helpful for learning and testing out Superset but unnecessary for experienced users and production deployments. The loading process can sometimes take a few minutes and a good amount of CPU, so you may want to disable it on a resource-constrained device.
@@ -116,7 +124,7 @@ Users often want to connect to other databases from Superset. Currently, the eas
:::note
Superset uses [Scarf Gateway](https://about.scarf.sh/scarf-gateway) to collect telemetry data. Knowing the installation counts for different Superset versions informs the project's decisions about patching and long-term support. Scarf purges personally identifiable information (PII) and provides only aggregated statistics.
To opt-out of this data collection in your docker-compose based installation, edit the `x-superset-image:` line in your `docker-compose.yml` and `docker-compose-non-dev.yml` files, replacing `apachesuperset.docker.scarf.sh/apache/superset` with `apache/superset` to pull the image directly from Docker Hub.
To opt-out of this data collection in your docker compose based installation, edit the `x-superset-image:` line in your `docker-compose.yml` and `docker-compose-non-dev.yml` files, replacing `apachesuperset.docker.scarf.sh/apache/superset` with `apache/superset` to pull the image directly from Docker Hub.
:::
### 4. Log in to Superset
@@ -138,7 +146,7 @@ password: admin
### 5. Connecting Superset to your local database instance
When running Superset using `docker` or `docker-compose` it runs in its own docker container, as if the Superset was running in a separate machine entirely. Therefore attempts to connect to your local database with the hostname `localhost` won't work as `localhost` refers to the docker container Superset is running in, and not your actual host machine. Fortunately, docker provides an easy way to access network resources in the host machine from inside a container, and we will leverage this capability to connect to our local database instance.
When running Superset using `docker` or `docker compose` it runs in its own docker container, as if the Superset was running in a separate machine entirely. Therefore attempts to connect to your local database with the hostname `localhost` won't work as `localhost` refers to the docker container Superset is running in, and not your actual host machine. Fortunately, docker provides an easy way to access network resources in the host machine from inside a container, and we will leverage this capability to connect to our local database instance.
Here the instructions are for connecting to postgresql (which is running on your host machine) from Superset (which is running in its docker container). Other databases may have slightly different configurations but gist would be same and boils down to 2 steps -
@@ -33,6 +33,15 @@ Add the following setting in your `superset_config.py` file:
- `SUPERSET_WEBSERVER_DOMAINS`: list of allowed hostnames for domain sharding feature.
Please create your domain shards as subdomains of your main domain for authorization to
work properly on new domains. For Example:
- `SUPERSET_WEBSERVER_DOMAINS=['superset-1.mydomain.com','superset-2.mydomain.com','superset-3.mydomain.com','superset-4.mydomain.com']`
or add the following setting in your `superset_config.py` file if domain shards are not subdomains of main domain.
- `SESSION_COOKIE_DOMAIN = '.mydomain.com'`
### Middleware
Superset allows you to add your own middleware. To add your own middleware, update the
@@ -367,37 +367,35 @@ configOverrides:
celery_conf: |
from celery.schedules import crontab
class CeleryConfig(object):
class CeleryConfig:
broker_url = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
imports = ('superset.sql_lab', "superset.tasks", "superset.tasks.thumbnails", )
imports = (
"superset.sql_lab",
"superset.tasks.cache",
"superset.tasks.scheduler",
)
result_backend = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
task_annotations = {
'sql_lab.get_sql_results': {
'rate_limit': '100/s',
},
'email_reports.send': {
'rate_limit': '1/s',
'time_limit': 600,
'soft_time_limit': 600,
'ignore_result': True,
"sql_lab.get_sql_results": {
"rate_limit": "100/s",
},
}
beat_schedule = {
'reports.scheduler': {
'task': 'reports.scheduler',
'schedule': crontab(minute='*', hour='*'),
"reports.scheduler": {
"task": "reports.scheduler",
"schedule": crontab(minute="*", hour="*"),
},
'reports.prune_log': {
'task': 'reports.prune_log',
"reports.prune_log": {
"task": "reports.prune_log",
'schedule': crontab(minute=0, hour=0),
},
'cache-warmup-hourly': {
'task': 'cache-warmup',
'schedule': crontab(minute='*/30', hour='*'),
'kwargs': {
'strategy_name': 'top_n_dashboards',
'top_n': 10,
'since': '7 days ago',
"task": "cache-warmup",
"schedule": crontab(minute="*/30", hour="*"),
"kwargs": {
"strategy_name": "top_n_dashboards",
"top_n": 10,
"since": "7 days ago",
},
}
}
@@ -15,7 +15,7 @@ version: 1
2. Create database w/ ssh tunnel enabled
- With the feature flag enabled you should now see ssh tunnel toggle.
- Click the toggle to enables ssh tunneling and add your credentials accordingly.
- Superset allows for 2 different type authenticaion (Basic + Private Key). These credentials should come from your service provider.
- Superset allows for 2 different type authentication (Basic + Private Key). These credentials should come from your service provider.
3. Verify data is flowing
- Once SSH tunneling has been enabled, go to SQL Lab and write a query to verify data is properly flowing.
@@ -12,7 +12,7 @@ version: 1
First make sure to wind down the running containers in Docker Compose:
```bash
docker-compose down
docker compose down
```
Then, update the folder that mirrors the `superset` repo through git:
@@ -25,7 +25,7 @@ git pull origin master
Then, restart the containers and any changed Docker images will be automatically pulled down:
```bash
docker-compose up
docker compose up
```
### Updating Superset Manually
+1 -1
View File
@@ -15,7 +15,7 @@ Here are a **few different ways you can get started with Superset**:
- Install Superset [from scratch](https://superset.apache.org/docs/installation/installing-superset-from-scratch/)
- Deploy Superset locally with one command
[using Docker Compose](installation/installing-superset-using-docker-compose)
[using Docker Compose](https://superset.apache.org/docs/installation/installing-superset-using-docker-compose)
- Deploy Superset [with Kubernetes](https://superset.apache.org/docs/installation/running-on-kubernetes)
- Run a [Docker image](https://hub.docker.com/r/apache/superset) from Dockerhub
- Download Superset [from Pypi here](https://pypi.org/project/apache-superset/)
+8 -8
View File
@@ -15,14 +15,14 @@ Note not all fields are correctly categorized. The fields vary based on visualiz
### Datasource & Chart Type
| Field | Type | Notes |
| ----------------- | -------- | ----------------------------------- |
| `database_name` | _string_ | _Deprecated?_ |
| `datasource` | _string_ | `<datasouce_id>__<datasource_type>` |
| `datasource_id` | _string_ | _Deprecated?_ See `datasource` |
| `datasource_name` | _string_ | _Deprecated?_ |
| `datasource_type` | _string_ | _Deprecated?_ See `datasource` |
| `viz_type` | _string_ | The **Visualization Type** widget |
| Field | Type | Notes |
| ----------------- | -------- | ------------------------------------ |
| `database_name` | _string_ | _Deprecated?_ |
| `datasource` | _string_ | `<datasource_id>__<datasource_type>` |
| `datasource_id` | _string_ | _Deprecated?_ See `datasource` |
| `datasource_name` | _string_ | _Deprecated?_ |
| `datasource_type` | _string_ | _Deprecated?_ See `datasource` |
| `viz_type` | _string_ | The **Visualization Type** widget |
### Time
+1 -1
View File
@@ -264,7 +264,7 @@ The database might be under heavy load, running too many queries. Please try aga
## Issue 1028
```
One or more parameters specified in the query are malformatted.
One or more parameters specified in the query are malformed.
```
The query contains one or more malformed template parameters. Please check your query and confirm that all template parameters are surround by double braces, for example, "{{ ds }}". Then, try running your query again.
+50
View File
@@ -0,0 +1,50 @@
---
title: Timezones
hide_title: true
sidebar_position: 1
version: 1
---
## Timezones
There are four distinct timezone components which relate to Apache Superset,
1. The timezone that the underlying data is encoded in.
2. The timezone of the database engine.
3. The timezone of the Apache Superset backend.
4. The timezone of the Apache Superset client.
where if a temporal field (`DATETIME`, `TIME`, `TIMESTAMP`, etc.) does not explicitly define a timezone it defaults to the underlying timezone of the component.
To help make the problem somewhat tractable—given that Apache Superset has no control on either how the data is ingested (1) or the timezone of the client (4)—from a consistency standpoint it is highly recommended that both (2) and (3) are configured to use the same timezone with a strong preference given to [UTC](https://en.wikipedia.org/wiki/Coordinated_Universal_Time) to ensure temporal fields without an explicit timestamp are not incorrectly coerced into the wrong timezone. Actually Apache Superset currently has implicit assumptions that timestamps are in UTC and thus configuring (3) to a non-UTC timezone could be problematic.
To strive for data consistency (regardless of the timezone of the client) the Apache Superset backend tries to ensure that any timestamp sent to the client has an explicit (or semi-explicit as in the case with [Epoch time](https://en.wikipedia.org/wiki/Unix_time) which is always in reference to UTC) timezone encoded within.
The challenge however lies with the slew of [database engines](/docs/databases/installing-database-drivers#install-database-drivers) which Apache Superset supports and various inconsistencies between their [Python Database API (DB-API)](https://www.python.org/dev/peps/pep-0249/) implementations combined with the fact that we use [Pandas](https://pandas.pydata.org/) to read SQL into a DataFrame prior to serializing to JSON. Regrettably Pandas ignores the DB-API [type_code](https://www.python.org/dev/peps/pep-0249/#type-objects) relying by default on the underlying Python type returned by the DB-API. Currently only a subset of the supported database engines work correctly with Pandas, i.e., ensuring timestamps without an explicit timestamp are serializd to JSON with the server timezone, thus guaranteeing the client will display timestamps in a consistent manner irrespective of the client's timezone.
For example the following is a comparison of MySQL and Presto,
```
import pandas as pd
from sqlalchemy import create_engine
pd.read_sql_query(
sql="SELECT TIMESTAMP('2022-01-01 00:00:00') AS ts",
con=create_engine("mysql://root@localhost:3360"),
).to_json()
pd.read_sql_query(
sql="SELECT TIMESTAMP '2022-01-01 00:00:00' AS ts",
con=create_engine("presto://localhost:8080"),
).to_json()
```
which outputs `{"ts":{"0":1640995200000}}` (which infers the UTC timezone per the Epoch time definition) and `{"ts":{"0":"2022-01-01 00:00:00.000"}}` (without an explicit timezone) respectively and thus are treated differently in JavaScript:
```
new Date(1640995200000)
> Sat Jan 01 2022 13:00:00 GMT+1300 (New Zealand Daylight Time)
new Date("2022-01-01 00:00:00.000")
> Sat Jan 01 2022 00:00:00 GMT+1300 (New Zealand Daylight Time)
```
+45 -6
View File
@@ -1,12 +1,10 @@
---
title: Role based Access
title: Security
hide_title: true
sidebar_position: 1
---
### Roles
Security in Superset is handled by Flask AppBuilder (FAB), an application development framework
Authentication and authorization in Superset is handled by Flask AppBuilder (FAB), an application development framework
built on top of Flask. FAB provides authentication, user management, permissions and roles.
Please read its [Security documentation](https://flask-appbuilder.readthedocs.io/en/latest/security.html).
@@ -67,10 +65,22 @@ tables in the **Permissions** dropdown. To select the data sources you want to a
You can then confirm with users assigned to the **Gamma** role that they see the
objects (dashboards and slices) associated with the tables you just extended them.
### REST API for user & role management
Flask-AppBuilder supports a REST API for user CRUD,
but this feature is in beta and is not enabled by default in Superset.
To enable this feature, set the following in your Superset configuration:
```python
FAB_ADD_SECURITY_API = True
```
Once configured, the documentation for additional "Security" endpoints will be visible in Swagger for you to explore.
### Customizing Permissions
The permissions exposed by FAB are very granular and allow for a great level of
customization. FAB creates many permissions automagically for each model that is
customization. FAB creates many permissions automatically for each model that is
created (can_add, can_delete, can_show, can_edit, …) as well as for each view.
On top of that, Superset can expose more granular permissions like **all_datasource_access**.
@@ -157,6 +167,34 @@ HTTPS if the cookie is marked “secure”. The application must be served over
`PERMANENT_SESSION_LIFETIME`: (default: "31 days") The lifetime of a permanent session as a `datetime.timedelta` object.
#### Switching to server side sessions
Server side sessions offer benefits over client side sessions on security and performance.
By enabling server side sessions, the session data is stored server side and only a session ID
is sent to the client. When a user logs in, a session is created server side and the session ID
is sent to the client in a cookie. The client will send the session ID with each request and the
server will use it to retrieve the session data.
On logout, the session is destroyed server side and the session cookie is deleted on the client side.
This reduces the risk for replay attacks and session hijacking.
Superset uses [Flask-Session](https://flask-session.readthedocs.io/en/latest/) to manage server side sessions.
To enable this extension you have to set:
``` python
SESSION_SERVER_SIDE = True
```
Flask-Session offers multiple backend session interfaces for Flask, here's an example for Redis:
``` python
from redis import Redis
SESSION_TYPE = "redis"
SESSION_REDIS = Redis(host="redis", port=6379, db=0)
# sign the session cookie sid
SESSION_USE_SIGNER = True
```
### Content Security Policy (CSP)
Superset uses the [Talisman](https://pypi.org/project/flask-talisman/) extension to enable implementation of a
@@ -256,4 +294,5 @@ analysing the findings.
PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on
public domain. The ASF Security Team maintains a page with the description of how vulnerabilities
and potential threats are handled, check their web page for more details.
and potential threats are handled, check [their web page](https://apache.org/security/committers.html)
for more details.
+1 -1
View File
@@ -246,7 +246,7 @@ const config = {
<img class="footer__divider" src="/img/community/line.png" alt="Divider" />
<p>
<small>
<a href="https://www.apache.org/security/" target="_blank" rel="noreferrer">Security</a>&nbsp;|&nbsp;
<a href="https://superset.apache.org/docs/security/" target="_blank" rel="noreferrer">Security</a>&nbsp;|&nbsp;
<a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noreferrer">Donate</a>&nbsp;|&nbsp;
<a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noreferrer">Thanks</a>&nbsp;|&nbsp;
<a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
+5
View File
@@ -117,4 +117,9 @@ export const Databases = [
href: 'https://www.microsoft.com/en-us/sql-server',
imgName: 'msql.png',
},
{
title: 'Apache Doris',
href: 'https://doris.apache.org/',
imgName: 'doris.png',
},
];
+1
View File
@@ -117,6 +117,7 @@ a > span > svg {
font-size: 14px;
font-weight: 400;
background-color: #fff;
transition: all 0.5s;
.get-started-button {
border-radius: 10px;
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

+4 -4
View File
@@ -2084,7 +2084,7 @@
"type": "array"
},
"datasource_id": {
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasource_id` and `datasource_type`.",
"type": "integer"
},
"datasource_name": {
@@ -2189,7 +2189,7 @@
"type": "array"
},
"datasource_id": {
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasource_id` and `datasource_type`.",
"nullable": true,
"type": "integer"
},
@@ -2902,7 +2902,7 @@
"type": "array"
},
"datasource_id": {
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasource_id` and `datasource_type`.",
"type": "integer"
},
"datasource_name": {
@@ -3007,7 +3007,7 @@
"type": "array"
},
"datasource_id": {
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasouce_id` and `datasource_type`.",
"description": "The id of the dataset/datasource this new chart will use. A complete datasource identification needs `datasource_id` and `datasource_type`.",
"nullable": true,
"type": "integer"
},
+9 -37
View File
@@ -7666,15 +7666,10 @@ multicast-dns@^7.2.5:
dns-packet "^5.2.2"
thunky "^1.0.2"
nanoid@^3.1.30, nanoid@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35"
integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
nanoid@^3.3.6:
version "3.3.6"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
needle@^3.1.0:
version "3.2.0"
@@ -8418,30 +8413,12 @@ postcss-zindex@^5.1.0:
resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff"
integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==
postcss@^8.3.11:
version "8.3.11"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz"
integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==
postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7:
version "8.4.31"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
dependencies:
nanoid "^3.1.30"
picocolors "^1.0.0"
source-map-js "^0.6.2"
postcss@^8.4.14, postcss@^8.4.17:
version "8.4.21"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.7:
version "8.4.12"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905"
integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==
dependencies:
nanoid "^3.3.1"
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
@@ -9939,11 +9916,6 @@ sort-css-media-queries@2.0.4:
resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.0.4.tgz"
integrity sha512-PAIsEK/XupCQwitjv7XxoMvYhT7EAfyzI3hsy/MyDgTvc+Ft55ctdkctJLOy6cQejaIC+zjpUL4djFVm2ivOOw==
source-map-js@^0.6.2:
version "0.6.2"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz"
integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+2 -2
View File
@@ -15,7 +15,7 @@
# limitations under the License.
#
apiVersion: v2
appVersion: "3.0"
appVersion: "3.1.0"
description: Apache Superset is a modern, enterprise-ready business intelligence web application
name: superset
icon: https://artifacthub.io/image/68c1d717-0e97-491f-b046-754e46f46922@2x
@@ -29,7 +29,7 @@ maintainers:
- name: craig-rueda
email: craig@craigrueda.com
url: https://github.com/craig-rueda
version: 0.10.8
version: 0.12.1
dependencies:
- name: postgresql
version: 12.1.6
+12 -2
View File
@@ -23,7 +23,7 @@ NOTE: This file is generated by helm-docs: https://github.com/norwoodj/helm-docs
# superset
![Version: 0.10.8](https://img.shields.io/badge/Version-0.10.8-informational?style=flat-square)
![Version: 0.12.1](https://img.shields.io/badge/Version-0.12.1-informational?style=flat-square)
Apache Superset is a modern, enterprise-ready business intelligence web application
@@ -40,6 +40,12 @@ helm repo add superset http://apache.github.io/superset/
helm install my-superset superset/superset
```
Make sure you set your own `SECRET_KEY` to something unique and secret. This secret key is used by Flask for
securely signing the session cookie and will be used to encrypt sensitive data on Superset's metadata database.
It should be a long random bytes or str.
On helm this can be set on `extraSecretEnv.SUPERSET_SECRET_KEY` or `configOverrides.secrets`
## Requirements
| Repository | Name | Version |
@@ -91,8 +97,9 @@ helm install my-superset superset/superset
| init.containerSecurityContext | object | `{}` | |
| init.createAdmin | bool | `true` | |
| init.enabled | bool | `true` | |
| init.extraContainers | list | `[]` | Launch additional containers into init job pod |
| init.initContainers | list | a container waiting for postgres | List of initContainers |
| init.initscript | string | a script to create admin user and initailize roles | A Superset init script |
| init.initscript | string | a script to create admin user and initialize roles | A Superset init script |
| init.jobAnnotations."helm.sh/hook" | string | `"post-install,post-upgrade"` | |
| init.jobAnnotations."helm.sh/hook-delete-policy" | string | `"before-hook-creation"` | |
| init.loadExamples | bool | `false` | |
@@ -123,6 +130,7 @@ helm install my-superset superset/superset
| supersetCeleryBeat.containerSecurityContext | object | `{}` | |
| supersetCeleryBeat.deploymentAnnotations | object | `{}` | Annotations to be added to supersetCeleryBeat deployment |
| supersetCeleryBeat.enabled | bool | `false` | This is only required if you intend to use alerts and reports |
| supersetCeleryBeat.extraContainers | list | `[]` | Launch additional containers into supersetCeleryBeat pods |
| supersetCeleryBeat.forceReload | bool | `false` | If true, forces deployment to reload on each upgrade |
| supersetCeleryBeat.initContainers | list | a container waiting for postgres | List of init containers |
| supersetCeleryBeat.podAnnotations | object | `{}` | Annotations to be added to supersetCeleryBeat pods |
@@ -135,6 +143,7 @@ helm install my-superset superset/superset
| supersetCeleryFlower.containerSecurityContext | object | `{}` | |
| supersetCeleryFlower.deploymentAnnotations | object | `{}` | Annotations to be added to supersetCeleryFlower deployment |
| supersetCeleryFlower.enabled | bool | `false` | Enables a Celery flower deployment (management UI to monitor celery jobs) WARNING: on superset 1.x, this requires a Superset image that has `flower<1.0.0` installed (which is NOT the case of the default images) flower>=1.0.0 requires Celery 5+ which Superset 1.5 does not support |
| supersetCeleryFlower.extraContainers | list | `[]` | Launch additional containers into supersetCeleryFlower pods |
| supersetCeleryFlower.initContainers | list | a container waiting for postgres and redis | List of init containers |
| supersetCeleryFlower.livenessProbe.failureThreshold | int | `3` | |
| supersetCeleryFlower.livenessProbe.httpGet.path | string | `"/api/workers"` | |
@@ -222,6 +231,7 @@ helm install my-superset superset/superset
| supersetWebsockets.containerSecurityContext | object | `{}` | |
| supersetWebsockets.deploymentAnnotations | object | `{}` | |
| supersetWebsockets.enabled | bool | `false` | This is only required if you intend to use `GLOBAL_ASYNC_QUERIES` in `ws` mode see https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries |
| supersetWebsockets.extraContainers | list | `[]` | Launch additional containers into supersetWebsockets pods |
| supersetWebsockets.image.pullPolicy | string | `"IfNotPresent"` | |
| supersetWebsockets.image.repository | string | `"oneacrefund/superset-websocket"` | There is no official image (yet), this one is community-supported |
| supersetWebsockets.image.tag | string | `"latest"` | |
+6
View File
@@ -39,6 +39,12 @@ helm repo add superset http://apache.github.io/superset/
helm install my-superset superset/superset
```
Make sure you set your own `SECRET_KEY` to something unique and secret. This secret key is used by Flask for
securely signing the session cookie and will be used to encrypt sensitive data on Superset's metadata database.
It should be a long random bytes or str.
On helm this can be set on `extraSecretEnv.SUPERSET_SECRET_KEY` or `configOverrides.secrets`
{{ template "chart.requirementsSection" . }}
{{ template "chart.valuesSection" . }}
+6 -8
View File
@@ -82,17 +82,15 @@ DATA_CACHE_CONFIG = CACHE_CONFIG
SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{env('DB_USER')}:{env('DB_PASS')}@{env('DB_HOST')}:{env('DB_PORT')}/{env('DB_NAME')}"
SQLALCHEMY_TRACK_MODIFICATIONS = True
SECRET_KEY = env('SECRET_KEY', 'thisISaSECRET_1234')
class CeleryConfig(object):
CELERY_IMPORTS = ('superset.sql_lab', )
CELERY_ANNOTATIONS = {'tasks.add': {'rate_limit': '10/s'}}
class CeleryConfig:
imports = ("superset.sql_lab", )
{{- if .Values.supersetNode.connections.redis_password }}
BROKER_URL = f"redis://:{env('REDIS_PASSWORD')}@{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
CELERY_RESULT_BACKEND = f"redis://:{env('REDIS_PASSWORD')}@{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
broker_url = f"redis://:{env('REDIS_PASSWORD')}@{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
result_backend = f"redis://:{env('REDIS_PASSWORD')}@{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
{{- else }}
BROKER_URL = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
CELERY_RESULT_BACKEND = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
broker_url = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
result_backend = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
{{- end }}
CELERY_CONFIG = CeleryConfig
@@ -42,6 +42,7 @@ spec:
metadata:
annotations:
checksum/superset_config.py: {{ include "superset-config" . | sha256sum }}
checksum/superset_bootstrap.sh: {{ tpl .Values.bootstrapScript . | sha256sum }}
checksum/connections: {{ .Values.supersetNode.connections | toYaml | sha256sum }}
checksum/extraConfigs: {{ .Values.extraConfigs | toYaml | sha256sum }}
checksum/extraSecrets: {{ .Values.extraSecrets | toYaml | sha256sum }}
@@ -119,6 +120,9 @@ spec:
{{- else }}
{{- toYaml .Values.resources | nindent 12 }}
{{- end }}
{{- if .Values.supersetCeleryBeat.extraContainers }}
{{- toYaml .Values.supersetCeleryBeat.extraContainers | nindent 8 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector: {{- toYaml . | nindent 8 }}
{{- end }}
@@ -115,6 +115,9 @@ spec:
{{- else }}
{{- toYaml .Values.resources | nindent 12 }}
{{- end }}
{{- if .Values.supersetCeleryFlower.extraContainers }}
{{- toYaml .Values.supersetCeleryFlower.extraContainers | nindent 8 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector: {{- toYaml . | nindent 8 }}
{{- end }}
@@ -48,6 +48,7 @@ spec:
metadata:
annotations:
checksum/superset_config.py: {{ include "superset-config" . | sha256sum }}
checksum/superset_bootstrap.sh: {{ tpl .Values.bootstrapScript . | sha256sum }}
checksum/connections: {{ .Values.supersetNode.connections | toYaml | sha256sum }}
checksum/extraConfigs: {{ .Values.extraConfigs | toYaml | sha256sum }}
checksum/extraSecrets: {{ .Values.extraSecrets | toYaml | sha256sum }}
@@ -114,6 +114,9 @@ spec:
{{- if .Values.supersetWebsockets.livenessProbe }}
livenessProbe: {{- .Values.supersetWebsockets.livenessProbe | toYaml | nindent 12 }}
{{- end }}
{{- if .Values.supersetWebsockets.extraContainers }}
{{- toYaml .Values.supersetWebsockets.extraContainers | nindent 8 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector: {{- toYaml . | nindent 8 }}
{{- end }}
+4 -1
View File
@@ -63,7 +63,7 @@ spec:
name: {{ tpl .Values.envFromSecret . }}
{{- range .Values.envFromSecrets }}
- secretRef:
name: {{ tpl . $ }}
name: {{ tpl . $ | quote }}
{{- end }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.init.containerSecurityContext }}
@@ -83,6 +83,9 @@ spec:
{{- end }}
command: {{ tpl (toJson .Values.init.command) . }}
resources: {{- toYaml .Values.init.resources | nindent 10 }}
{{- if .Values.init.extraContainers }}
{{- toYaml .Values.init.extraContainers | nindent 6 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector: {{- toYaml . | nindent 8 }}
{{- end }}
+13 -3
View File
@@ -93,6 +93,8 @@ extraSecretEnv: {}
# # Google API Keys: https://console.cloud.google.com/apis/credentials
# GOOGLE_KEY: ...
# GOOGLE_SECRET: ...
# # Generate your own secret key for encryption. Use openssl rand -base64 42 to generate a good key
# SUPERSET_SECRET_KEY: 'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'
# -- Extra files to mount on `/app/pythonpath`
extraConfigs: {}
@@ -163,8 +165,8 @@ configOverrides: {}
# # The default user self registration role
# AUTH_USER_REGISTRATION_ROLE = "Admin"
# secret: |
# # Generate your own secret key for encryption. Use openssl rand -base64 42 to generate a good key
# SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
# # Generate your own secret key for encryption. Use `openssl rand -base64 42` to generate a good key
# SECRET_KEY = 'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'
# -- Same as above but the values are files
configOverridesFiles: {}
@@ -441,6 +443,8 @@ supersetCeleryBeat:
- /bin/sh
- -c
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
# -- Launch additional containers into supersetCeleryBeat pods
extraContainers: []
# -- Annotations to be added to supersetCeleryBeat deployment
deploymentAnnotations: {}
# -- Affinity to be added to supersetCeleryBeat deployment
@@ -522,6 +526,8 @@ supersetCeleryFlower:
- /bin/sh
- -c
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
# -- Launch additional containers into supersetCeleryFlower pods
extraContainers: []
# -- Annotations to be added to supersetCeleryFlower deployment
deploymentAnnotations: {}
# -- Affinity to be added to supersetCeleryFlower deployment
@@ -588,6 +594,8 @@ supersetWebsockets:
http: nil
command: []
resources: {}
# -- Launch additional containers into supersetWebsockets pods
extraContainers: []
deploymentAnnotations: {}
# -- Affinity to be added to supersetWebsockets deployment
affinity: {}
@@ -671,7 +679,7 @@ init:
- -c
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -timeout 120s
# -- A Superset init script
# @default -- a script to create admin user and initailize roles
# @default -- a script to create admin user and initialize roles
initscript: |-
#!/bin/sh
set -eu
@@ -697,6 +705,8 @@ init:
echo "Importing database connections.... "
superset import_datasources -p {{ .Values.extraConfigMountPath }}/import_datasources.yaml
fi
# -- Launch additional containers into init job pod
extraContainers: []
## Annotations to be added to init job pods
podAnnotations: {}
podSecurityContext: {}
+1 -1
View File
@@ -17,4 +17,4 @@
[pytest]
testpaths =
tests
python_files = *_test.py test_*.py *_tests.py
python_files = *_test.py test_*.py *_tests.py *viz/utils.py
+2
View File
@@ -17,3 +17,5 @@
# under the License.
#
-e file:.
urllib3>=1.26.18
numexpr>=2.9.0
+47 -22
View File
@@ -1,4 +1,4 @@
# SHA1:a9dde048f1ee1f00586264d726d0e89f16e56183
# SHA1:f8f2c882290c71f27b1d9f3263cf0c523cb88ad6
#
# This file is autogenerated by pip-compile-multi
# To update, run:
@@ -18,7 +18,10 @@ apsw==3.42.0.1
async-timeout==4.0.2
# via redis
attrs==23.1.0
# via jsonschema
# via
# cattrs
# jsonschema
# requests-cache
babel==2.9.1
# via flask-babel
backoff==1.11.1
@@ -31,8 +34,12 @@ bottleneck==1.3.7
# via pandas
brotli==1.0.9
# via flask-compress
cachelib==0.6.0
# via flask-caching
cachelib==0.9.0
# via
# flask-caching
# flask-session
cattrs==23.2.1
# via requests-cache
celery==5.2.2
# via apache-superset
certifi==2023.7.22
@@ -65,13 +72,11 @@ colorama==0.4.6
# via
# apache-superset
# flask-appbuilder
convertdate==2.4.0
# via holidays
cron-descriptor==1.2.24
# via apache-superset
croniter==1.0.15
# via apache-superset
cryptography==41.0.0
cryptography==42.0.4
# via
# apache-superset
# paramiko
@@ -83,6 +88,8 @@ dnspython==2.1.0
# via email-validator
email-validator==1.1.3
# via flask-appbuilder
exceptiongroup==1.2.0
# via cattrs
flask==2.2.5
# via
# apache-superset
@@ -94,13 +101,14 @@ flask==2.2.5
# flask-limiter
# flask-login
# flask-migrate
# flask-session
# flask-sqlalchemy
# flask-wtf
flask-appbuilder==4.3.6
flask-appbuilder==4.4.1
# via apache-superset
flask-babel==1.0.0
# via flask-appbuilder
flask-caching==1.11.1
flask-caching==2.1.0
# via apache-superset
flask-compress==1.13
# via apache-superset
@@ -114,6 +122,8 @@ flask-login==0.6.0
# flask-appbuilder
flask-migrate==3.1.0
# via apache-superset
flask-session==0.5.0
# via apache-superset
flask-sqlalchemy==2.5.1
# via
# flask-appbuilder
@@ -138,9 +148,7 @@ gunicorn==21.2.0
# via apache-superset
hashids==1.3.1
# via apache-superset
hijri-converter==2.3.1
# via holidays
holidays==0.23
holidays==0.25
# via apache-superset
humanize==3.11.0
# via apache-superset
@@ -203,8 +211,10 @@ nh3==0.2.11
# via apache-superset
numba==0.57.1
# via pandas
numexpr==2.8.4
# via pandas
numexpr==2.9.0
# via
# -r requirements/base.in
# pandas
numpy==1.23.5
# via
# apache-superset
@@ -220,24 +230,29 @@ packaging==23.1
# apache-superset
# apispec
# deprecation
# gunicorn
# limits
# marshmallow
# shillelagh
pandas[performance]==2.0.3
# via apache-superset
paramiko==2.11.0
# via sshtunnel
paramiko==3.4.0
# via
# apache-superset
# sshtunnel
parsedatetime==2.6
# via apache-superset
pgsanity==0.2.9
# via apache-superset
platformdirs==3.8.1
# via requests-cache
polyline==2.0.0
# via apache-superset
prison==0.2.1
# via flask-appbuilder
prompt-toolkit==3.0.38
# via click-repl
pyarrow==12.0.0
pyarrow==14.0.1
# via apache-superset
pycparser==2.20
# via cffi
@@ -248,8 +263,6 @@ pyjwt==2.4.0
# apache-superset
# flask-appbuilder
# flask-jwt-extended
pymeeus==0.5.12
# via convertdate
pynacl==1.5.0
# via paramiko
pyparsing==3.0.6
@@ -284,12 +297,16 @@ pyyaml==6.0.1
redis==4.5.4
# via apache-superset
requests==2.31.0
# via
# requests-cache
# shillelagh
requests-cache==1.1.1
# via shillelagh
rich==13.3.4
# via flask-limiter
selenium==3.141.0
# via apache-superset
shillelagh==1.2.6
shillelagh==1.2.10
# via apache-superset
shortid==0.1.2
# via apache-superset
@@ -299,9 +316,9 @@ six==1.16.0
# via
# click-repl
# isodate
# paramiko
# prison
# python-dateutil
# url-normalize
# wtforms-json
slack-sdk==3.21.3
# via apache-superset
@@ -318,6 +335,8 @@ sqlalchemy-utils==0.38.3
# via
# apache-superset
# flask-appbuilder
sqlglot==23.0.2
# via apache-superset
sqlparse==0.4.4
# via apache-superset
sshtunnel==0.4.0
@@ -327,14 +346,19 @@ tabulate==0.8.9
typing-extensions==4.4.0
# via
# apache-superset
# cattrs
# flask-limiter
# limits
# shillelagh
tzdata==2023.3
# via pandas
urllib3==1.26.6
url-normalize==1.4.3
# via requests-cache
urllib3==1.26.18
# via
# -r requirements/base.in
# requests
# requests-cache
# selenium
vine==5.0.0
# via
@@ -347,6 +371,7 @@ werkzeug==2.3.3
# via
# apache-superset
# flask
# flask-appbuilder
# flask-jwt-extended
# flask-login
wrapt==1.15.0

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