Hugh A. Miles II
d4ac5fed84
Merge branch 'master' into hughhhh/dashboard-export-spec-review
2026-07-01 20:34:32 -04:00
Mike Bridge
af0a55a4f3
feat(dashboards): soft-delete and restore ( #40128 )
...
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-07-01 17:20:44 -07:00
Hugh A Miles II
e3a7bf776e
Merge remote-tracking branch 'origin/master' into hughhhh/dashboard-export-spec-review
...
# Conflicts:
# UPDATING.md
# superset-frontend/src/pages/SavedQueryList/SavedQueryList.test.tsx
2026-07-01 19:30:19 -04:00
Mike Bridge
393adc4535
refactor(db): composite PK on M2M association tables ( #39859 )
...
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-07-01 13:07:15 -07:00
Joe Li
bed1034c2f
refactor(frontend): centralize subdirectory URL prefixing behind nav helpers ( #39925 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Co-authored-by: Evan <evan@preset.io >
2026-07-01 11:20:13 -07:00
Hugh A Miles II
216cf65086
chore: resolve UPDATING.md conflict and sync staged work with master
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 12:22:34 -04:00
Evan Rusackas
4bf203ee70
chore(config): default SMTP_SSL_SERVER_AUTH to True ( #40647 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-30 13:50:38 -07:00
Hugh A Miles II
a05d53842c
Merge remote-tracking branch 'origin/master' into hughhhh/dashboard-export-spec-review
2026-06-30 11:47:05 -04:00
Evan Rusackas
3b82d2a170
fix(security): clean up stale can_import permission on ImportExportRestApi ( #41309 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-29 17:38:18 -07:00
Ville Brofeldt
ece8d8ffca
fix(datasource): allow Gamma to load combined datasource list ( #41553 )
2026-06-29 15:08:29 -07:00
Evan Rusackas
adc03ce525
refactor: make import/expression layer SQLAlchemy 2.0-compatible ( #41179 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-29 11:38:59 -07:00
Shaitan
f95ebed8ba
fix: apply object access checks in tag bulk_create and update commands ( #41457 )
...
Signed-off-by: sha174n <shaitan@zx48.net >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-29 10:07:26 -07:00
David
90fe1f5b7c
fix(auth): redirect to login on failure to access dashboard permalink ( #40769 )
2026-06-28 17:49:25 -07:00
Hugh A Miles II
e6a242bcfe
Merge remote-tracking branch 'origin/master' into hughhhh/dashboard-export-spec-review
2026-06-27 15:53:37 -04:00
Abdul Rehman
ebb32de625
fix(cachekey): use data_cache for chart query result invalidation ( #40493 )
2026-06-26 18:01:14 -07:00
Evan Rusackas
6f12dbf0e1
feat(api): log rejected related/distinct field access as security events ( #41306 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-26 15:45:36 -07:00
Evan Rusackas
bfa6cfac85
fix(database): mask SSH tunnel credentials explicitly on read paths ( #41293 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-26 12:07:02 -07:00
Evan Rusackas
0efcbcdd81
test(security): regression coverage for #36130 FAB permission view templates ( #41130 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-26 12:06:27 -07:00
SkinnyPigeon
0d43c2c12c
feat(reports): trigger alerts ( #41336 )
2026-06-25 22:01:39 -07:00
Evan Rusackas
4b9b8187b3
fix(config): make Swagger UI opt-in (off by default) ( #41300 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-25 10:34:28 -07:00
Hugh A Miles II
2f1666ff67
Merge remote-tracking branch 'origin/master' into hughhhh/dashboard-export-spec-review
...
# Conflicts:
# UPDATING.md
2026-06-24 21:03:21 -04:00
Shlummie
a57b5f6078
fix(deckgl): show dashboard filter badges for multi-layer charts ( #40003 )
...
Co-authored-by: Evan Rusackas <evan@rusackas.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 02:14:25 -07:00
Eddy
1b8c6d109d
feat: added deterministic field generation to dashboard export ( #36339 )
...
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 01:41:44 -07:00
Abdul Rehman
c2fb94cedf
perf(filters): cache column-values endpoint to skip DB on repeat requests ( #40839 )
2026-06-23 23:41:26 -07:00
Evan Rusackas
b4dfeef2fd
fix(reports): add network timeouts so schedules can't hang forever ( #41250 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-23 18:01:03 -07:00
peng weikang
18fea37e84
fix(SavedQueries): allow other admin users see "saved queries" ( #20604 ) ( #21769 )
2026-06-23 12:14:48 -07:00
Ville Brofeldt
b061b5d317
chore: fix lint on untouched files ( #41333 )
2026-06-23 11:29:19 -07:00
Evan Rusackas
1d3daf2ac8
fix(security): return generic error and log internally in RoleRestAPI.get_list ( #41295 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-23 11:24:26 -07:00
Hans Yu
c49391ab08
refactor: update Connection.execute() to use queries with text() ( #40277 )
2026-06-22 15:36:15 -07:00
Abdul Rehman
cb1694575c
fix(dataset-api): disambiguate get_or_create by schema ( #40494 )
2026-06-22 09:45:02 -07:00
Grégoire Gailly
cc9c20fcb6
feat(dashboard): Edit dashboard description from ui (and api) and show tooltip on dashboard list view ( #36071 )
2026-06-19 08:49:14 -07:00
Hugh A Miles II
667252a3fe
Merge remote-tracking branch 'origin/master' into hughhhh/dashboard-export-spec-review
...
# Conflicts:
# UPDATING.md
2026-06-17 09:22:10 -07:00
Amin Ghadersohi
eebe1a1a5b
fix(dashboards): remove thumbnail_url from list API to reduce cache cost ( #38567 )
2026-06-17 09:35:21 -06:00
Joao Amaral
750518cf6f
fix(celery): check app context before session removal in teardown ( #37574 )
...
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: Đỗ Trọng Hải <41283691+hainenber@users.noreply.github.com >
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
2026-06-17 10:44:27 -03:00
Xie Yanbo
a27ec1923e
chore(export): Added ability to export chart YAML files with Unicode characters, fix #20331 ( #28008 )
...
Co-authored-by: Evan Rusackas <evan@preset.io >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 07:55:19 +01:00
Hugh A Miles II
a8c1148aad
fix(dashboard): tolerate empty export_xlsx body + green up CI
...
- export_xlsx: use request.get_json(silent=True) so a POST with no JSON
content-type no longer raises 415/500 (returns 400/404/501 as intended).
- api_tests: register the FAB-generated can_export_xlsx permission in
test_info_security_dashboard; replace the gamma test (Gamma has can_export)
with a deterministic 404-for-inaccessible-dashboard check.
- type-annotate dict literals in the filter-context tests (mypy var-annotated).
- move MenuWrapperWithProps above first use (oxlint no-use-before-define).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 16:30:23 -07:00
Hugh A Miles II
161c4d81d7
Merge remote-tracking branch 'origin/master' into hughhhh/dashboard-export-spec-review
...
# Conflicts:
# UPDATING.md
# superset-frontend/package-lock.json
2026-06-16 15:59:03 -07:00
Hugh A Miles II
cea084898c
feat(dashboard): POST export_xlsx endpoint
...
Add POST /api/v1/dashboard/<pk>/export_xlsx/ which validates the request and
enqueues the async Excel export task, returning 202 with a job id. Gated on the
Dashboard can_export permission (@permission_name("export")); returns 501 when
EXCEL_EXPORT_S3_BUCKET is unset, 404 for inaccessible/missing dashboards,
403 on object-level access denial, and 400 for guest/no-email users or empty
dashboards. The job id is used as the Celery task id for correlation. Adds the
request/response marshmallow schemas and integration tests.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 14:48:34 -07:00
Amin Ghadersohi
c1b5d05f83
fix(bigquery): set default dataset from schema in adjust_engine_params ( #40776 )
2026-06-15 18:37:06 -04:00
Evan Rusackas
9d2f625e55
feat(encrypt): selectable encryption engine + AES-GCM re-encryption migrator ( #40654 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-15 08:10:08 -07:00
Cezar
df0668eda5
feat(api): return uuid in POST response for dataset, chart, and dashboard ( #37806 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-13 16:53:08 -07:00
Evan Rusackas
d120b1c250
feat(security): enforce password complexity policy (min length + common-password blocklist) ( #40670 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-13 16:31:23 -07:00
Yuvraj Singh Chauhan
3c6239363b
fix(db): preserve percent encoding in database passwords ( #36783 )
...
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-13 13:52:00 -07:00
Shaitan
a41869ec7d
fix(dashboard): build example-export sample data through the dataset query path ( #40976 )
...
Co-authored-by: sha174n <pedro.sousa@preset.io >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-13 19:01:35 +01:00
Evan Rusackas
b05fe4857e
fix(chart): require chart access for query_context-only updates ( #40648 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-13 04:16:29 -07:00
Evan Rusackas
9938ee273f
feat: terminate active sessions when an account is disabled ( #40695 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-11 19:37:13 -07:00
Evan Rusackas
6c5ad1e912
fix(sqllab): apply SQL controls (RLS/DML/disallowed) to cost estimation ( #40662 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-11 05:33:42 -07:00
Richard Fogaca Nienkotter
046b1b61b3
fix(maps): preserve OSM styles and configurable renderer defaults ( #40804 )
2026-06-10 22:26:00 -03:00
Evan Rusackas
00e3682aaf
fix(dashboard): URL-encode native_filters in permalink redirect ( #40660 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-09 11:37:08 -07:00
Evan Rusackas
a0cf798409
fix(embedded): add Sec-Fetch-Dest defense-in-depth check on the embedded view ( #40667 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-09 11:08:08 -07:00