Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DO NOT MERGE: test 4.1 release #29693

Draft
wants to merge 1,051 commits into
base: 4.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1051 commits
Select commit Hold shift + click to select a range
c83d5b8
feat: Adds the ECharts Sankey chart (#29329)
michael-s-molina Jun 26, 2024
d4054e3
feat: Adds chart IDs option to migrate-viz (#29361)
michael-s-molina Jun 26, 2024
c49a6df
feat(e2e): implementing Cypress Dashboard on `master` branch merges (…
rusackas Jun 26, 2024
731cfb1
chore(tests): Mark TestConnectionDatabaseCommand as non-test related …
john-bodley Jun 26, 2024
53450b7
fix(tox): Address issue with generative environment variables (#29368)
john-bodley Jun 26, 2024
5948dac
chore(ci): Start Celery worker as a background process (#29371)
john-bodley Jun 26, 2024
466dda2
chore(security): Clean up session/commit logic (#29381)
john-bodley Jun 26, 2024
9d40573
chore(tests): Remove unnecessary mock (#29386)
john-bodley Jun 27, 2024
59d1eea
ci: remove update repo on issue comment (#29388)
dpgaspar Jun 27, 2024
9c5c124
docs: fix typo in docker compose doc (#29390)
jansule Jun 27, 2024
c70a9d0
fix(readme): changing video from mp4 to webm format (#29392)
rusackas Jun 27, 2024
2a587a7
feat: Add Ant Design 5 Theme (#29328)
geido Jun 28, 2024
66bc8ce
chore(Table): Add aria-label to Table page size selector (#29391)
geido Jun 28, 2024
ed3c66b
chore(deps): bump scroll-into-view-if-needed from 2.2.28 to 3.1.0 in …
dependabot[bot] Jun 28, 2024
f128718
docs: fix typos (#29400)
jansule Jun 28, 2024
a3f0d00
refactor(src/explore/comp/controls/metricControl): migrate Enzyme tes…
hainenber Jun 28, 2024
8fb8199
chore(dao/command): Add transaction decorator to try to enforce "unit…
john-bodley Jun 28, 2024
e274925
chore(frontend): remove obsolete ESLint rules in tests (#29405)
hainenber Jun 28, 2024
5c9352f
docs: update INTHEWILD.md with bluquist (#29399)
ari-jane Jun 28, 2024
ba405ba
docs: Update INTHEWILD.md with Aveti Learning (#29413)
TheShubhendra Jun 30, 2024
179cf26
fix: SQL label missing for non-group-by queries (#29420)
hexcafe Jul 1, 2024
42773b9
chore(deps): bump stream from 0.0.2 to 0.0.3 in /docs (#29431)
dependabot[bot] Jul 1, 2024
cfe2940
chore(deps-dev): bump typescript from 5.4.5 to 5.5.2 in /docs (#29432)
dependabot[bot] Jul 1, 2024
5aac1b5
chore(deps): bump rehype-raw from 6.1.1 to 7.0.0 in /superset-fronten…
dependabot[bot] Jul 1, 2024
7727b9d
chore(deps-dev): bump eslint-import-resolver-typescript from 2.5.0 to…
dependabot[bot] Jul 1, 2024
0cf676b
chore(deps-dev): bump ts-jest from 29.1.2 to 29.1.5 in /superset-webs…
dependabot[bot] Jul 1, 2024
7d6e933
chore(key-value): convert command to dao (#29344)
villebro Jul 1, 2024
0286650
chore: Added 10Web to the list of organizations that use Apache Super…
saghatelian Jul 1, 2024
446a3b2
chore: move all GHAs to ubuntu-22.04 (#29447)
mistercrunch Jul 1, 2024
839ca82
chore(deps): bump react-markdown from 8.0.3 to 8.0.7 in /superset-fro…
dependabot[bot] Jul 1, 2024
1e73820
chore(deps): bump @algolia/client-search from 4.23.3 to 4.24.0 in /do…
dependabot[bot] Jul 1, 2024
cf031bb
chore(deps-dev): bump webpack from 5.91.0 to 5.92.1 in /docs (#29429)
dependabot[bot] Jul 1, 2024
7a0ae36
chore(deps): bump actions/checkout from 2 to 4 (#29434)
dependabot[bot] Jul 1, 2024
3449b8f
chore(deps-dev): update @types/lodash requirement from ^4.17.4 to ^4.…
dependabot[bot] Jul 1, 2024
7bb7fc0
chore(deps): bump deck.gl from 9.0.12 to 9.0.20 in /superset-frontend…
dependabot[bot] Jul 2, 2024
7f3c8ef
fix(metastore-cache): import dao in methods (#29451)
villebro Jul 2, 2024
fb1f2c4
fix: re-add missing code from PR #28132 (#29446)
sadpandajoe Jul 2, 2024
d5c0506
fix: OAuth2 in async DBs (#29461)
betodealmeida Jul 3, 2024
35da6ac
fix: Dashboard hangs when initial filters cannot be loaded (#29456)
michael-s-molina Jul 3, 2024
6b73b69
feat(CLI command): Apache Superset "Factory Reset" CLI command #27207…
mknadh Jul 3, 2024
5231e86
docs(docker compose): fix step 4 list formatting (#29468)
easontm Jul 3, 2024
48f6fe6
chore(i18n): Translated charts and filters into Russian (#29377)
goldjee Jul 3, 2024
145694d
chore: run babel_update.sh to update po files (#29476)
mistercrunch Jul 3, 2024
4e861cf
chore(utils): Support select_columns with getUserOwnedObjects and spl…
Vitor-Avila Jul 4, 2024
6d2b3b8
fix: Enable explore button on SQL Lab view when connected to Apache P…
soumitra-st Jul 5, 2024
0f60701
chore(Home): Avoid firing API requests when a custom Home is used (#2…
Vitor-Avila Jul 5, 2024
d896481
feat(dashboard): add API endpoints for generating and downloading scr…
eulloa10 Jul 8, 2024
e768796
refactor: Upgrade Card to Ant Design 5 (#29389)
geido Jul 8, 2024
2418342
fix: remove info from datasource access error (#29470)
dpgaspar Jul 8, 2024
0e00282
fix: add more disallowed pg functions (#29454)
dpgaspar Jul 8, 2024
ee72d6c
feat: Enable customizing the docker admin password (#29498)
c-w Jul 8, 2024
9724c99
feat: add support to NOT LIKE operator (#29384)
dacopan Jul 8, 2024
1682994
docs: cleanup markdown warnings (#29511)
CodeWithEmad Jul 8, 2024
9052f9f
fix(plugins): Fix dashboard filter for Table and Big Number with Time…
Antonio-RiveroMartnez Jul 8, 2024
dc16255
docs: Add Vasu and Jamie to the Users List (#29486)
vasu-ram Jul 8, 2024
b481bc9
fix(plugins): Big Number with Time Comparison (#29520)
Antonio-RiveroMartnez Jul 8, 2024
b4560d4
feat(database): Add OceanBase support (#29496)
yuanoOo Jul 9, 2024
3d06651
fix: Table time comparison breaking after form data update (#29525)
kgabryje Jul 9, 2024
e749efc
fix: refactor view error handling into a separate module (#29330)
mistercrunch Jul 9, 2024
813775e
chore(build): sync Jest version across plugins (#29414)
hainenber Jul 9, 2024
3bf8989
feat(build): uplift Storybook to v8 (#29408)
hainenber Jul 9, 2024
428b68f
refactor: Upgrade Badge component to Ant Design 5 (#29124)
geido Jul 9, 2024
bea4882
docs: Add frontend dependency installation steps (#29510)
CodeWithEmad Jul 9, 2024
1734eea
chore(deps): bump deck.gl from 8.9.22 to 9.0.21 in /superset-frontend…
dependabot[bot] Jul 9, 2024
5aacf56
chore(deps): bump regenerator-runtime from 0.13.11 to 0.14.1 in /supe…
dependabot[bot] Jul 9, 2024
ec5bbaa
feat: add connector for CouchbaseDB (#29225)
ayush33143314 Jul 10, 2024
17a4537
docs(intro): Add OceanBase to the Supported Databases section of read…
yuanoOo Jul 10, 2024
1d35ca4
fix(websocket): add error handling (#29538)
harshit2283 Jul 10, 2024
67df4e3
fix: prevent guest users from changing columns (#29530)
betodealmeida Jul 10, 2024
33a31ca
chore(deps): bump deck.gl from 8.9.22 to 9.0.20 in /superset-frontend…
dependabot[bot] Jul 10, 2024
dd74757
fix: babel_update script crash (#29548)
CodeWithEmad Jul 10, 2024
33b934c
fix(Tags filter): Filter assets by tag ID (#29412)
Vitor-Avila Jul 11, 2024
d535f3f
fix: make catalog migration lenient (#29549)
betodealmeida Jul 11, 2024
3f6b7e2
docs: Added Keycloak auth configuration (#29487)
lindner-tj Jul 11, 2024
84a1cd2
chore: cleanup documentation (#29552)
CodeWithEmad Jul 11, 2024
0d352b4
fix(dataset import): Support catalog field during dataset import (#29…
Vitor-Avila Jul 12, 2024
fa095a9
fix: Trino `get_columns` (#29566)
betodealmeida Jul 12, 2024
a56f656
fix: small fixes to the catalog migration (#29579)
betodealmeida Jul 13, 2024
fb15278
fix: catalog permission check (#29581)
betodealmeida Jul 13, 2024
462cda4
fix(storybook): fix broken Storybook stories during development (#29587)
hainenber Jul 15, 2024
6eda6df
docs: update CVEs for 4.0.2 (#29599)
dpgaspar Jul 16, 2024
d51a2ad
docs(contributing): removing old blog post link (#29603)
rusackas Jul 16, 2024
e90a9b3
chore(docs): create architecture page (#28481)
sfirke Jul 16, 2024
00ab12c
fix(docs): fix broken indexed link from Google search (#28496)
sfirke Jul 16, 2024
ec508a7
docs(Database): Clarify host value expected when running in docker (#…
Carmageddon Jul 16, 2024
b66c0f8
fix: schemas for upload API (#29604)
betodealmeida Jul 16, 2024
028e9c9
chore: Updates CHANGELOG.md with 4.0.2 data (#29600)
michael-s-molina Jul 16, 2024
c30ca53
feat(build): uplift Lerna + replace insecure shortid with nanoid + up…
hainenber Jul 16, 2024
b399525
fix: sort schemas when uploading data (#29610)
betodealmeida Jul 16, 2024
245e198
chore: Clear redux localStorage on logout (#29602)
geido Jul 17, 2024
9da5be3
docs: fix code comment explaining local override (#29612)
oscep Jul 17, 2024
db3fa8d
fix(sqllab): Show warning message when deprecated db is selected (#29…
justinpark Jul 17, 2024
3ade01f
feat: custom values to sandbox iframe (#29590)
dacopan Jul 17, 2024
ae6e58f
feat(frontend/hooks): replace 3rd-party BroadcastChannel with native …
hainenber Jul 17, 2024
c0d46eb
refactor(Tag): Upgrade Tag and TagsList to Ant Design 5 (#29593)
geido Jul 17, 2024
6dbfe2a
feat: add slackv2 notification (#29264)
eschutho Jul 17, 2024
1e412a8
refactor(Dashboard): Fetch dashboard screenshot via dedicated endpoin…
geido Jul 18, 2024
5b79752
fix: Add Japanese Translations (#29567)
avintonOfficial Jul 18, 2024
4369967
chore: Adds 4.1.0 RC1 daa to CHANGELOG.md and UPDATING.md (#29637)
sadpandajoe Jul 23, 2024
c8008e6
refactor: Remove dead code from the Word Cloud plugin (#29594)
michael-s-molina Jul 19, 2024
a9ba3b3
fix(sqllab): prev shema/table options remained on fail (#29638)
justinpark Jul 19, 2024
fea187a
fix: Required native filter message wrongfully appearing (#29643)
michael-s-molina Jul 19, 2024
f59fb6f
chore: add catalog_access to OBJECT_SPEC_PERMISSIONS (#29650)
betodealmeida Jul 19, 2024
dc754e2
fix: Loading of native filter column (#29647)
michael-s-molina Jul 22, 2024
3e297d1
fix: Layout of native filters modal with lengthy columns (#29648)
michael-s-molina Jul 22, 2024
30fbfa1
docs: update creating-your-first-dashboard.mdx (#29631)
Jaswanth-Sriram-Veturi Jul 22, 2024
a8c6bb5
feat(alert/report): Added optional CC and BCC fields for email notifi…
nsivarajan Jul 22, 2024
3d7f6da
fix: Dashboard editable title weird behavior when adding spaces (#29667)
kgabryje Jul 23, 2024
604fe27
fix: Use default custom time range time without timezone (#29669)
kgabryje Jul 23, 2024
0f1663b
refactor(ProgressBar): Upgrade ProgressBar to Antd 5 (#29666)
geido Jul 23, 2024
de2eedd
chore: Add the 4.1 release notes (#29262)
sadpandajoe Aug 5, 2024
bca2366
fix(Database): Refresh catalogs on db update returns database error (…
geido Jul 30, 2024
77ade18
fix: pass slack recipients correctly (#29721)
eschutho Aug 2, 2024
7219310
fix(Dashboard): Copying a Dashboard does not commit the transaction (…
geido Jul 31, 2024
4dca9bc
fix: catalog upgrade/downgrade (#29780)
betodealmeida Jul 30, 2024
eca7c57
fix: Downgrade of revision 678eefb4ab44 throws error (#29799)
michael-s-molina Aug 1, 2024
6954db0
fix: create permissions on DB import (#29802)
betodealmeida Aug 6, 2024
642de0a
fix: bump packages to unblock ci (#29805)
eschutho Aug 1, 2024
8ea9491
fix: load slack channels earlier (#29846)
eschutho Aug 6, 2024
bfb6ff3
fix: update celery config imports (#29862)
mistercrunch Aug 5, 2024
a2d8590
chore: Logs the duration of migrations execution (#29893)
michael-s-molina Aug 9, 2024
c0c6486
fix(Embedded): Deleting Embedded Dashboards does not commit the trans…
geido Aug 9, 2024
d102b45
fix: Error when downgrading add_catalog_perm_to_tables migration (#29…
michael-s-molina Aug 9, 2024
afe580b
fix: add imports back to celery file (#29921)
sadpandajoe Aug 12, 2024
16295b0
fix: Add user filtering to changed_by. Fixes #27986 (#29287)
marre Jul 25, 2024
9677fa9
fix: handle empty catalog when DB supports them (#29840)
betodealmeida Aug 13, 2024
1638532
fix(explore): missing column autocomplete in custom SQL (#29672)
justinpark Jul 26, 2024
f4b2018
fix(embedded): Remove CSRF requirement for dashboard download API (#2…
Vitor-Avila Aug 15, 2024
b70c5e1
fix: upgrade_catalog_perms and downgrade_catalog_perms implementation…
michael-s-molina Aug 16, 2024
f8ed0ce
chore: Allow auto pruning of the query table (#29936)
michael-s-molina Aug 19, 2024
86bfb2a
fix: try to prevent deadlocks when running upgrade (#29625)
sadpandajoe Aug 16, 2024
6a5c293
fix(sqllab): Add abort call on query refresh timeout (#29956)
justinpark Aug 16, 2024
ef31710
fix(ci): remove unused "type: ignore" comment to unblock precommit ch…
hainenber Aug 1, 2024
106d755
fix(sqllab): flaky json explore modal due to shallow equality checks …
justinpark Aug 21, 2024
c332eeb
fix: trino thread app missing full context (#29981)
dpgaspar Aug 22, 2024
cced1c5
fix: Duplicated example dataset (#29993)
michael-s-molina Aug 22, 2024
8f93ad7
chore: Adds 4.1.0 RC2 data to CHANGELOG.md
sadpandajoe Aug 22, 2024
b0a2aea
fix: Security manager incorrect calls (#29884)
michael-s-molina Aug 23, 2024
fe33689
fix: Gamma users shouldn't be able to create roles (#29687)
hughhhh Aug 21, 2024
d488c78
chore: improve mask/unmask encrypted_extra (#29943)
betodealmeida Aug 22, 2024
a7eb28d
fix(trino): handle missing db in migration (#29997)
villebro Aug 22, 2024
5411d40
fix: set columns numeric datatypes when exporting to excel (#27229)
squalou Aug 23, 2024
7dc6507
fix(screenshots): dashboard screenshots do not capture filter state (…
fisjac Aug 23, 2024
fff9f87
fix(user-dao): return user model instances (#30020)
villebro Aug 26, 2024
36b229c
fix: Dashboard list row height does not match other lists (#30025)
michael-s-molina Aug 27, 2024
86ca2b3
fix: Partition calls from Jinja context (#30019)
michael-s-molina Aug 27, 2024
e7b136b
fix(migrations): Fix the time comparison migration (#30029)
Antonio-RiveroMartnez Aug 27, 2024
b4068f1
fix: Retrieving Slack channels when Slack is disabled (#30074)
michael-s-molina Sep 3, 2024
c57f47d
fix: When hovering Drill By the dashboard is scrolled to the top (#30…
michael-s-molina Aug 30, 2024
997cd60
fix: use StrEnum type for GuestTokenResourceType to fix token parsing…
hao-zhuventures Aug 29, 2024
122057b
fix: pass if table is already removed on upgrade (#30017)
sadpandajoe Sep 3, 2024
45da3f4
fix(accessibility): logo outline on tab navigation, but not on click …
rusackas Sep 3, 2024
8d7ceeb
fix: DeckGL legend layout (#30140)
michael-s-molina Sep 3, 2024
0f32116
fix: JSON loading logs (#30138)
michael-s-molina Sep 3, 2024
1d90ee3
fix: New tooltip inappropriately combines series on mixed chart (#30137)
michael-s-molina Sep 4, 2024
acf3e12
fix(catalog): Table Schema View with no catalog (#30139)
Antonio-RiveroMartnez Sep 4, 2024
f49a426
docs: document how docker-compose-image-tag requires -dev suffixed im…
mistercrunch Sep 4, 2024
f2c0d3a
fix(sqllab): race condition when updating cursor position (#30154)
justinpark Sep 4, 2024
d47430a
fix: FacePile is requesting avatars when SLACK_ENABLE_AVATARS is fals…
michael-s-molina Sep 5, 2024
41e611b
fix(plugins): display correct tooltip (fixes #3342) (#30023)
jonaschn Aug 27, 2024
e946678
fix(native filter): undefined layout type on filterInScope (#30164)
justinpark Sep 5, 2024
cea8ede
fix(sqllab): Skip AceEditor in inactive tabs (#30171)
justinpark Sep 6, 2024
3becd6b
chore(shared components): Migrate enzyme to RTL (#26258)
justinpark Aug 21, 2024
e8d5ff1
fix: Delete modal button with lowercase text (#30060)
michael-s-molina Aug 30, 2024
d8b9f38
fix: Disable cross filtering on charts with no dimensions (#30176)
kgabryje Sep 9, 2024
1ccc147
fix: set default mysql isolation level to 'READ COMMITTED' (#30174)
mistercrunch Sep 10, 2024
d33f153
fix: Chart cache-warmup task fails on Superset 4.0 (#28706)
rmasters Sep 7, 2024
c3bc7de
feat: `is_mutating` method (#30177)
betodealmeida Sep 9, 2024
6205fb4
fix(Embedded): Dashboard screenshot should use GuestUser (#30200)
geido Sep 10, 2024
40568fd
fix(Dashboard download): Download dashboard screenshot/PDF using Supe…
Vitor-Avila Sep 10, 2024
789ca73
fix(Celery): Pass guest_token as user context is not available in Cel…
geido Sep 11, 2024
afd5379
chore(docs): note that release-tagged docker images no longer ship wi…
sfirke Sep 11, 2024
d85fdf4
fix: filters panel broken due to tabs scroll (#30180)
justinpark Sep 11, 2024
889ab36
fix(uploads): respect db engine spec's supports_multivalues_insert va…
sfirke Sep 12, 2024
f0c42b0
feat(sqllab): Add timeout on fetching query results (#29959)
justinpark Sep 12, 2024
860c9c0
fix(Fave): Charts and Dashboards fave/unfave do not commit transactio…
geido Sep 12, 2024
4a6dd94
chore: remove duplicate `_process_sql_expression` (#30213)
betodealmeida Sep 10, 2024
90ce1b5
fix(CrossFilters): Do not reload unrelated filters in global scope (#…
geido Sep 13, 2024
35de980
fix(Screenshot): Dashboard screenshot cache key to include state (#30…
geido Sep 16, 2024
1f6ef6a
chore(sqllab): Add shortcuts for switching tabs (#30173)
justinpark Sep 16, 2024
2157fe3
chore: move SLACK_ENABLE_AVATARS from config to feature flag (#30274)
mistercrunch Sep 16, 2024
437151a
fix: unable to disallow csv upload on header menu (#30271)
justinpark Sep 17, 2024
359d7ba
fix(dashboard): Invalid owner's name displayed after updates (#30272)
justinpark Sep 17, 2024
8fc4c50
fix(migration): 87d38ad83218 failing on upgrade (#30275)
villebro Sep 19, 2024
2561b26
fix(table): Use extras in queries (#30335)
Antonio-RiveroMartnez Sep 19, 2024
072540f
fix: KeyError 'sql' when opening a Trino virtual dataset (#30339)
michael-s-molina Sep 19, 2024
a3d6ef0
fix: Pre-query normalization with custom SQL (#30389)
michael-s-molina Sep 25, 2024
c864e6c
fix: Allows X-Axis Sort By for custom SQL (#30393)
michael-s-molina Sep 25, 2024
9951822
fix: Incorrect hovered items in tooltips (#30405)
michael-s-molina Sep 26, 2024
f1a6aaa
chore: organize SQL parsing files (#30258)
betodealmeida Sep 13, 2024
ca5ed8b
chore: improve DML check (#30417)
betodealmeida Sep 27, 2024
f743ae3
fix: Histogram chart not able to use decimal datatype column (#30416)
michael-s-molina Sep 30, 2024
84c1ad9
fix(embedded): sankey charts (#30491)
betodealmeida Oct 2, 2024
7519cab
fix: Open control with Simple tab selected when there is no column se…
michael-s-molina Oct 3, 2024
4b9ae07
fix: don't reformat generated queries (#30350)
betodealmeida Oct 4, 2024
dce7e47
fix(imports): Error when importing charts / dashboards with missing D…
fisjac Oct 4, 2024
9f5f089
fix(Explore): Apply RLS at column values (#30490)
geido Oct 4, 2024
d0def80
fix(migration): replace unquote with double percentages (#30532)
villebro Oct 7, 2024
95ae663
chore(chart-controls): migrate enzyme to RTL (#26257)
justinpark Aug 22, 2024
597e207
fix(explore): don't discard controls on deprecated (#30447)
justinpark Oct 4, 2024
f56dfb3
fix: Unable to parse escaped tables (#30560)
michael-s-molina Oct 9, 2024
0eaa8c5
fix: Incorrect type in config.py (#30564)
michael-s-molina Oct 9, 2024
4fe51c6
fix: Horizon Chart are not working any more (#30563)
michael-s-molina Oct 9, 2024
0a7635f
fix(dashboard-export): Fixes datasetId is not replaced with datasetU…
fmannhardt Oct 9, 2024
92808ff
fix(Jinja): Extra cache keys to consider vars with set (#30549)
geido Oct 9, 2024
05cccf6
fix: adhoc metrics (#30202)
betodealmeida Oct 10, 2024
8c329c4
fix: update html rendering to true from false (#30565)
sadpandajoe Oct 10, 2024
a84da1c
fix: `sqlparse` fallback for formatting queries (#30578)
betodealmeida Oct 11, 2024
2a98780
perf: Implement Echarts treeshaking (#29874)
kgabryje Aug 7, 2024
159958e
feat(embedded): add hook to allow superset admins to validate guest t…
dmarkey Sep 11, 2024
82fc887
fix(filters): Adds a fix for saving time range adhoc_filters (#30581)
ObservabilityTeam Oct 15, 2024
0f1064e
fix(Filters): Apply native & cross filters on common columns (#30438)
geido Oct 15, 2024
046770c
feat: use dialect when tokenizing (#30614)
betodealmeida Oct 15, 2024
b6edf14
fix(docs): address two linkinator failures (#30617)
sfirke Oct 15, 2024
1074d1e
chore: Update to Dockerfile to get creating releases to work (#29937)
sadpandajoe Aug 19, 2024
27ca7ba
fix: First item hovered on stacked bar (#30628)
michael-s-molina Oct 16, 2024
03b7262
chore: update change log for 4.1.0rc3 and linting
sadpandajoe Oct 16, 2024
742ad92
fix(explore): Missing markarea component broke annotations in echarts…
kgabryje Sep 20, 2024
7b343f7
fix(chart): Table and page entries misaligned (#30680)
justinpark Oct 23, 2024
a70f2ce
fix(Jinja): Extra cache keys for Jinja columns (#30715)
geido Oct 25, 2024
7c569ab
fix(dashboard): Include `urlParams` in the screenshot generation (#30…
Vitor-Avila Oct 23, 2024
49aa74c
fix: Nested transaction is inactive when embedding dashboard (#30699)
michael-s-molina Oct 24, 2024
ba0d118
fix(Jinja): Extra cache keys for calculated columns and metrics using…
Vitor-Avila Oct 29, 2024
3f7907b
chore(Dashboard): Simplify scoping logic for cross/native filters (#3…
geido Oct 30, 2024
cbf1aee
chore: split cypress files for less memory (#30354)
eschutho Sep 25, 2024
6706d13
chore: alter scripts/cypress_run to run one file per command + retry …
mistercrunch Sep 28, 2024
6f65691
fix: CI remove cypress command --headed (#30429)
mistercrunch Sep 29, 2024
45c1836
ci: Add Python 3.11 images to Docker Hub (#30733)
padbk Oct 29, 2024
ad82a8c
fix: catalog migration w/o connection (#30773)
betodealmeida Nov 1, 2024
d5f33c4
fix(Dashboard): Sync/Async Dashboard Screenshot Generation and Defaul…
geido Nov 1, 2024
db311eb
chore: bump werkzeug to address vulnerability (#30729)
dpgaspar Nov 1, 2024
008ab20
fix(plugin-chart-echarts): sort tooltip correctly (#30819)
villebro Nov 1, 2024
855f4c4
chore: Adds 4.1.0 RC4 data to CHANGELOG.md
sadpandajoe Nov 1, 2024
5faaaf9
docs(contributing): fix broken link to translations sub-section (#29768)
sfirke Jul 29, 2024
f7cfd91
docs: Check markdown files for bad links using linkinator (#28424)
rusackas Jul 29, 2024
72df46a
fix(frontend/docker, ci): fix borked Docker build due to Lerna v8 upl…
hainenber Jul 30, 2024
0d0b430
fix: Fixing incomplete string escaping. (#29772)
rusackas Jul 30, 2024
66fe0b0
fix(translations): Translate embedded errors (#29782)
rusackas Jul 31, 2024
aaecec2
refactor(controls): Migrate MetricDefinitionValue.test to RTL (#29845)
rtexelm Aug 2, 2024
cfd24e3
refactor(controls): Migrate AdhocMetricOption.test to RTL (#29843)
rtexelm Aug 2, 2024
9e84e13
refactor(ChartCreation): Migrate tests to RTL (#29674)
rtexelm Aug 3, 2024
2787167
refactor(Slider): Upgrade Slider to Antd 5 (#29786)
geido Aug 5, 2024
bc2e51d
fix(capitalization): Capitalizing a button. (#29867)
rusackas Aug 6, 2024
234f8c9
fix: Graph chart colors (#30851)
michael-s-molina Nov 11, 2024
fd4c3dc
fix: don't show metadata for embedded dashboards (#30875)
sadpandajoe Nov 12, 2024
7953c89
fix(TimezoneSelector): Failing unit tests due to timezone change (#30…
geido Nov 4, 2024
29c76ef
fix: Rename database from 'couchbasedb' to 'couchbase' in documentati…
ayush-couchbase Aug 13, 2024
af44b14
chore: add link to Superset when report error (#30576)
eschutho Oct 21, 2024
bdfd5cd
fix(explore): column data type tooltip format (#30588)
mistercrunch Oct 30, 2024
f704b0f
fix(package.json): Pin luxon version to unblock master (#30859)
geido Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
27 changes: 13 additions & 14 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,24 +63,23 @@ github:
# combination here.
contexts:
- lint-check
- cypress-matrix (0, chrome)
- cypress-matrix (1, chrome)
- cypress-matrix (2, chrome)
- cypress-matrix (3, chrome)
- cypress-matrix (4, chrome)
- cypress-matrix (5, chrome)
- frontend-build
- pre-commit (3.9)
- python-lint (3.9)
- test-mysql (3.9)
- test-postgres (3.9)
- test-postgres (3.10)
- test-sqlite (3.9)
- docker-build (dev, linux/amd64)
- docker-build (lean, linux/amd64)
- docker-build (py310, linux/arm64)
- docker-build (py310, linux/amd64)
- docker-build (websocket, linux/arm64)
- docker-build (websocket, linux/amd64)
- docker-build (dockerize, linux/arm64)
- docker-build (dockerize, linux/amd64)
- pre-commit
- python-lint
- test-mysql
- test-postgres (current)
- test-postgres (next)
- test-postgres-hive
- test-postgres-presto
- test-sqlite
- unit-tests (current)
- unit-tests (next)

required_pull_request_reviews:
dismiss_stale_reviews: false
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
docker/**/*.sh text eol=lf
*.svg binary
4 changes: 1 addition & 3 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@
/.asf.yaml @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @john-bodley @kgabryje @dpgaspar

# Maps are a finnicky contribution process we care about

**/*.geojson @villebro @rusackas
/superset-frontend/plugins/legacy-plugin-chart-country-map/ @villebro @rusackas

# Translations are a finnicky contribution that we care about
/superset/translations/ @villebro @rusackas @michael-s-molina
5 changes: 3 additions & 2 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ body:
value: |
Hello Superset Community member! Please keep things tidy by putting your post in the proper place:

🚨 Reporting a security issue: send an email to [email protected]. DO NOT USE GITHUB ISSUES TO REPORT SECURITY PROBLEMS.
🐛 Reporting a bug: use this form.
🙏 Asking a question or getting help: post in the [Superset Slack chat](http://bit.ly/join-superset-slack) or [GitHub Discussions](https://github.com/apache/superset/discussions) under "Q&A / Help".
💡 Requesting a new feature: Search [GitHub Discussions](https://github.com/apache/superset/discussions) to see if it exists already. If not, add a new post there under "Ideas".
Expand Down Expand Up @@ -45,8 +46,8 @@ body:
label: Superset version
options:
- master / latest-dev
- "3.1.0"
- "3.0.4"
- "4.0.2"
- "3.1.3"
validations:
required: true
- type: dropdown
Expand Down
31 changes: 31 additions & 0 deletions .github/actions/change-detector/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: 'Change Detector'
description: 'Detects file changes for pull request and push events'
inputs:
token:
description: 'GitHub token for authentication'
required: true
outputs:
python:
description: 'Whether Python-related files were changed'
value: ${{ steps.change-detector.outputs.python }}
frontend:
description: 'Whether frontend-related files were changed'
value: ${{ steps.change-detector.outputs.frontend }}
docker:
description: 'Whether docker-related files were changed'
value: ${{ steps.change-detector.outputs.docker }}
docs:
description: 'Whether docs-related files were changed'
value: ${{ steps.change-detector.outputs.docs }}
runs:
using: 'composite'
steps:
- name: Detect file changes
id: change-detector
run: |
python --version
python scripts/change_detector.py
shell: bash
env:
GITHUB_TOKEN: ${{ inputs.token }}
GITHUB_OUTPUT: ${{ github.output }}
53 changes: 53 additions & 0 deletions .github/actions/setup-backend/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: 'Setup Python Environment'
description: 'Set up Python and install dependencies with optional configurations.'
inputs:
python-version:
description: 'Python version to set up. Accepts a version number, "current", or "next".'
required: true
default: 'current'
cache:
description: 'Cache dependencies. Options: pip'
required: false
default: 'pip'
requirements-type:
description: 'Type of requirements to install. Options: base, development, default'
required: false
default: 'dev'
install-superset:
description: 'Whether to install Superset itself. If false, only python is installed'
required: false
default: 'true'

runs:
using: 'composite'
steps:
- name: Interpret Python Version
id: set-python-version
shell: bash
run: |
if [ "${{ inputs.python-version }}" = "current" ]; then
echo "PYTHON_VERSION=3.10" >> $GITHUB_ENV
elif [ "${{ inputs.python-version }}" = "next" ]; then
echo "PYTHON_VERSION=3.11" >> $GITHUB_ENV
elif [ "${{ inputs.python-version }}" = "previous" ]; then
echo "PYTHON_VERSION=3.9" >> $GITHUB_ENV
else
echo "PYTHON_VERSION=${{ inputs.python-version }}" >> $GITHUB_ENV
fi
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: ${{ inputs.cache }}
- name: Install dependencies
run: |
if [ "${{ inputs.install-superset }}" = "true" ]; then
sudo apt-get update && sudo apt-get -y install libldap2-dev libsasl2-dev
pip install --upgrade pip setuptools wheel
if [ "${{ inputs.requirements-type }}" = "dev" ]; then
pip install -r requirements/development.txt
elif [ "${{ inputs.requirements-type }}" = "base" ]; then
pip install -r requirements/base.txt
fi
fi
shell: bash
40 changes: 40 additions & 0 deletions .github/actions/setup-supersetbot/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: 'Setup supersetbot'
description: 'Sets up supersetbot npm lib from the repo or npm'
inputs:
from-npm:
description: 'Install from npm instead of local setup'
required: false
default: 'true' # Defaults to using the local setup
runs:
using: 'composite'
steps:

- name: Setup Node Env
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install supersetbot from npm
if: ${{ inputs.from-npm == 'true' }}
shell: bash
run: npm install -g supersetbot

- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
if: ${{ inputs.from-npm == 'false' }}
uses: actions/checkout@v4
with:
repository: apache-superset/supersetbot
path: supersetbot

- name: Setup supersetbot from repo
if: ${{ inputs.from-npm == 'false' }}
shell: bash
working-directory: supersetbot
run: |
# simple trick to install globally with dependencies
npm pack
npm install -g ./supersetbot*.tgz

- name: echo supersetbot version
shell: bash
run: supersetbot version
13 changes: 5 additions & 8 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,11 @@ updates:
open-pull-requests-limit: 30
versioning-strategy: increase

- package-ecosystem: "pip"
directory: "/requirements/"
schedule:
interval: "monthly"
labels:
- pip
- dependabot
open-pull-requests-limit: 30

# - package-ecosystem: "pip"
# NOTE: as dependabot isn't compatible with our python
# dependency setup (pip-compile-multi), we'll be using
# `supersetbot` instead

- package-ecosystem: "npm"
directory: ".github/actions"
Expand Down
5 changes: 5 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@
- any-glob-to-any-file:
- 'superset/translations/zh/**'

"i18n:traditional-chinese":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/zh_TW/**'

"i18n:dutch":
- changed-files:
- any-glob-to-any-file:
Expand Down
113 changes: 43 additions & 70 deletions .github/workflows/bashlib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,6 @@ say() {
fi
}

# default command to run when the `run` input is empty
default-setup-command() {
apt-get-install
pip-upgrade
}

apt-get-install() {
say "::group::apt-get install dependencies"
sudo apt-get update && sudo apt-get install --yes \
libsasl2-dev \
libldap2-dev
say "::endgroup::"
}

pip-upgrade() {
say "::group::Upgrade pip"
pip install --upgrade pip
Expand Down Expand Up @@ -103,6 +89,8 @@ EOF
setup-mysql() {
say "::group::Initialize database"
mysql -h 127.0.0.1 -P 13306 -u root --password=root <<-EOF
SET GLOBAL transaction_isolation='READ-COMMITTED';
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
DROP DATABASE IF EXISTS superset;
CREATE DATABASE superset DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
DROP DATABASE IF EXISTS sqllab_test_db;
Expand All @@ -129,9 +117,17 @@ testdata() {
say "::endgroup::"
}

codecov() {
say "::group::Upload code coverage"
bash ".github/workflows/codecov.sh" "$@"
celery-worker() {
cd "$GITHUB_WORKSPACE"
say "::group::Start Celery worker"
# must specify PYTHONPATH to make `tests.superset_test_config` importable
export PYTHONPATH="$GITHUB_WORKSPACE"
celery \
--app=superset.tasks.celery_app:app \
worker \
--concurrency=2 \
--detach \
--optimization=fair
say "::endgroup::"
}

Expand All @@ -147,35 +143,10 @@ cypress-install() {
cache-save cypress
}

# Run Cypress and upload coverage reports
cypress-run() {
cypress-run-all() {
local USE_DASHBOARD=$1
cd "$GITHUB_WORKSPACE/superset-frontend/cypress-base"

local page=$1
local group=${2:-Default}
local cypress="./node_modules/.bin/cypress run"
local browser=${CYPRESS_BROWSER:-chrome}

export TERM="xterm"
export ELECTRON_DISABLE_GPU=true # Attempt to disable GPU for Electron-based Cypress

say "::group::Run Cypress for [$page]"
if [[ -z $CYPRESS_KEY ]]; then
xvfb-run --auto-servernum --server-args='-screen 0, 1024x768x24' $cypress --spec "cypress/e2e/$page" --browser "$browser"
else
export CYPRESS_RECORD_KEY=$(echo $CYPRESS_KEY | base64 --decode)
# additional flags for Cypress dashboard recording
xvfb-run --auto-servernum --server-args='-screen 0, 1024x768x24' $cypress --spec "cypress/e2e/$page" --browser "$browser" \
--record --group "$group" --tag "${GITHUB_REPOSITORY},${GITHUB_EVENT_NAME}" \
--parallel --ci-build-id "${GITHUB_SHA:0:8}-${NONCE}"

fi

# don't add quotes to $record because we do want word splitting
say "::endgroup::"
}

cypress-run-all() {
# Start Flask and run it in background
# --no-debugger means disable the interactive debugger on the 500 page
# so errors can print to stderr.
Expand All @@ -186,32 +157,21 @@ cypress-run-all() {
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!

cypress-run "*/**/*"

# After job is done, print out Flask log for debugging
say "::group::Flask log for default run"
cat "$flasklog"
say "::endgroup::"

# Rerun SQL Lab tests with backend persist disabled
export SUPERSET_CONFIG=tests.integration_tests.superset_test_config_sqllab_backend_persist_off

# Restart Flask with new configs
kill $flaskProcessId
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!

cypress-run "sqllab/*" "Backend persist"
USE_DASHBOARD_FLAG=''
if [ "$USE_DASHBOARD" = "true" ]; then
USE_DASHBOARD_FLAG='--use-dashboard'
fi

# 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
# UNCOMMENT the next few commands to monitor memory usage
# monitor_memory & # Start memory monitoring in the background
# memoryMonitorPid=$!
python ../../scripts/cypress_run.py --parallelism $PARALLELISM --parallelism-id $PARALLEL_ID --retries 5 $USE_DASHBOARD_FLAG
# kill $memoryMonitorPid

say "::group::Flask log for backend persist"
# After job is done, print out Flask log for debugging
echo "::group::Flask log for default run"
cat "$flasklog"
say "::endgroup::"

echo "::endgroup::"
# make sure the program exits
kill $flaskProcessId
}
Expand All @@ -222,6 +182,21 @@ eyes-storybook-dependencies() {
say "::endgroup::"
}

monitor_memory() {
# This is a small utility to monitor memory usage. Useful for debugging memory in GHA.
# To use wrap your command as follows
#
# monitor_memory & # Start memory monitoring in the background
# memoryMonitorPid=$!
# YOUR_COMMAND_HERE
# kill $memoryMonitorPid
while true; do
echo "$(date) - Top 5 memory-consuming processes:"
ps -eo pid,comm,%mem --sort=-%mem | head -n 6 # First line is the header, next 5 are top processes
sleep 2
done
}

cypress-run-applitools() {
cd "$GITHUB_WORKSPACE/superset-frontend/cypress-base"

Expand All @@ -235,9 +210,7 @@ cypress-run-applitools() {
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!

$cypress --spec "cypress/e2e/*/**/*.applitools.test.ts" --browser "$browser" --headless --config ignoreTestFiles="[]"

codecov -c -F "cypress" || true
$cypress --spec "cypress/applitools/**/*" --browser "$browser" --headless

say "::group::Flask log for default run"
cat "$flasklog"
Expand Down
Loading
Loading