Amin Ghadersohi
6ea70f3e88
feat(mcp): add duplicate_dashboard tool
...
Adds a duplicate_dashboard MCP tool that clones an existing dashboard
via CopyDashboardCommand. The source dashboard can be identified by
numeric ID, UUID, or slug. By default the copy references the same
charts; duplicate_slices=true deep-copies every chart into new objects
owned by the caller.
The tool builds the required json_metadata payload (source metadata
plus a positions key from position_json), mirroring what the frontend
"Save as" flow sends to the /copy/ endpoint. The new title is
sanitized for XSS, and the tool is excluded from MCP response caching.
2026-06-26 15:44:33 +00:00
SkinnyPigeon
0d43c2c12c
feat(reports): trigger alerts ( #41336 )
2026-06-25 22:01:39 -07:00
Greg Neighbors
2b09b6bc1d
feat(mcp): list_charts accepts dashboards filter ( #40397 )
...
Co-authored-by: gkneighb <26003+gkneighb@users.noreply.github.com >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-Air-2.lan >
2026-06-25 17:14:11 -07:00
Greg Neighbors
d8bcc66472
feat(mcp): dashboard layout, theme, and CSS control + update_dashboard tool ( #40399 )
...
Co-authored-by: gkneighb <26003+gkneighb@users.noreply.github.com >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-MacBook-Air-2.local >
Co-authored-by: Greg Neighbors <gregneighbors@Gregs-Air-2.lan >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@rusackas.com >
2026-06-25 10:41:07 -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
Mehmet Salih Yavuz
9a11c15a33
feat(explore): add full-range option for time-shift comparison ( #41334 )
2026-06-25 18:30:33 +03:00
Evan Rusackas
e0f3f93cd4
fix(mcp): require MCP_JWT_AUDIENCE when MCP JWT auth is enabled ( #41292 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:53:36 -07:00
Evan Rusackas
81f7e42f4e
fix(rls): preserve tables/roles on partial RLS rule updates ( #41294 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:16:47 -07:00
Evan Rusackas
0fd244b5c6
fix(security): reject unknown fields on guest-token RLS rules ( #41217 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-24 16:16:43 -07:00
Evan Rusackas
4f4663418f
fix(tests): stabilize update_chart MCP test failing on previous-Python CI leg ( #41310 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 16:16:14 -07:00
Evan Rusackas
f40abbbefd
fix(mcp): fail closed when the JWT verifier has no pinned algorithm ( #41296 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:15:42 -07:00
Evan Rusackas
6166af3c3c
fix(mcp): reject non-finite JWT exp instead of 500ing on int() overflow ( #41394 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 16:15:29 -07:00
Evan Rusackas
7363774869
fix(theming): deep-merge partial THEME_DEFAULT overrides with built-in defaults ( #41347 )
...
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-24 13:27:32 -07:00
abhyudaytomar
09c7ba14df
fix(export): sanitize control characters in titles to prevent export failures ( #39294 )
...
Co-authored-by: Abhyuday Tomar <abhyuday.tomar@exotel.com >
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-24 11:03:46 -07:00
yousoph
f6ce105450
fix(pandas-postprocessing): handle prophet errors and validate minimum data points for forecast ( #41180 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-24 10:44:23 -07:00
Shashwati Bhattacharyaa
91188a0302
fix(config): Wire LOGO_TARGET_PATH and document custom spinner usage ( #36951 )
...
Co-authored-by: Shashwati <shashwatibhattacaharya21.2@gmail.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Evan Rusackas <evan@rusackas.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-06-24 01:56:15 -07:00
Greg Neighbors
caf81e71d2
feat(mcp): add typed Pydantic response schemas to generate_explore_link tool ( #39900 )
...
Co-authored-by: gkneighb <26003+gkneighb@users.noreply.github.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-06-24 01:53:08 -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
Puneet Dixit
7b9bcdd951
fix(bigquery): preserve catalog in partition metadata lookup ( #40200 )
...
Co-authored-by: Puneet Dixit <rvit23bcs086.rvitm@rvei.edu.in >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-06-24 01:41:06 -07:00
yousoph
1d0866556f
fix(sql_lab): serialize dict/list cell values as valid JSON strings ( #41099 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 20:39:23 -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
crabulous
3bc3f47d67
fix(dataset): import/export jinja template bug ( #28790 )
...
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 13:25:49 -07:00
Durgaprasad M L
acb996a324
feat(mcp): support virtual dataset metrics and improve adhoc SQL metric discoverability ( #40935 )
...
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 12:19:44 -07:00
Ayush Sharaf
d3d5297025
fix(reports): preserve dashboard state in tab permalinks ( #39708 )
...
Co-authored-by: Ayush Kumar Sharaf <sharaf@Ayushs-MacBook-Air.local >
Co-authored-by: Evan Rusackas <evan@preset.io >
Co-authored-by: Ayush Kumar Sharaf <ayush.sharaf@314ecorp.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-23 12:15:41 -07:00
Ville Brofeldt
b061b5d317
chore: fix lint on untouched files ( #41333 )
2026-06-23 11:29:19 -07:00
Evan Rusackas
386893f9f2
feat(security): record audit metadata on guest token issuance ( #41305 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-23 11:25:44 -07:00
Evan Rusackas
c1787a67aa
fix(extensions): log extension-init failures via the logger, not print() ( #41304 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-23 11:25:33 -07:00
Evan Rusackas
dee5859599
fix(rls): reject empty or whitespace-only RLS clauses ( #41297 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-23 11:24:38 -07:00
Elizabeth Thompson
9d56b1721d
fix(models): use Series.iloc for positional access in post_process_df ( #41344 )
2026-06-23 11:22:22 -07:00
Alexis
ca3c420412
fix(trino): ignore Iceberg $partitions metadata fields in partition detection ( #41055 )
...
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-06-23 10:13:23 -07:00
Evan Rusackas
5e8a0c0244
fix(embedded): allow guest users to sort table columns in embedded dashboards ( #41218 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-23 10:10:55 -07:00
Evan Rusackas
66f5ab2d2f
fix(ssh-tunnel): support ed25519 and ECDSA keys, not just RSA ( #24180 ) ( #40139 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-06-23 09:15:45 -07:00
Harshit-Tiwary
36781fbf47
fix(i18n): wrap table access error message with gettext for translation ( #38489 )
...
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 20:28:05 -07:00
Shaitan
215b207ae4
fix(sql): detect set operations and nested selects in subquery check ( #38452 )
...
Co-authored-by: sha174n <pedro.sousa@preset.io >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-22 20:27:32 -07:00
Vitor Avila
3b46a5f121
fix(chart API): Consider time grain filters with the filters_dashboard_id param ( #41290 )
2026-06-22 20:01:24 -03:00
Hans Yu
c49391ab08
refactor: update Connection.execute() to use queries with text() ( #40277 )
2026-06-22 15:36:15 -07:00
Antonio Pio Volgarino
e34b7c2daf
fix(gsheets): pass service_account_info via adapter_kwargs ( #38443 )
...
Co-authored-by: Antonio Pio Volgarino <avolgarino@zanichelli.it >
Co-authored-by: Joe Li <joe@preset.io >
Co-authored-by: Evan Rusackas <evan@preset.io >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-22 11:34:08 -07:00
Daniel Vaz Gaspar
27a65257ee
perf(screenshots): reuse Playwright browser across tasks instead of launching per-task ( #41243 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-22 11:32:30 -07:00
Pham Quang Binh
36632c20eb
fix(databases): apply IMPERSONATE_WITH_EMAIL_PREFIX to StarRocks engine ( #37984 )
2026-06-22 23:45:05 +07:00
Ujjwal Jain
449bd69802
fix(logging): safely render database URIs in startup warnings ( #38229 )
2026-06-22 09:05:16 -07:00
Evan Rusackas
b8aeecfc44
fix(export): dashboard export must not leak env-local chartIds ( #32972 ) ( #40588 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-22 03:50:29 -07:00
Jean Dupuis
b2e5f80db2
fix(sql): preserve multi-arg DISTINCT in sanitize_clause and format ( #39340 )
2026-06-19 13:02:50 -07:00
Vitor Avila
334b13c3d9
fix(chart API): apply dashboard filters by live scope, not stale chartsInScope ( #41214 )
2026-06-19 15:22:54 -03:00
Vitor Avila
9e130e5927
fix(chart): preserve SQL_QUERY_MUTATOR line comments structure ( #41215 )
2026-06-19 15:07:24 -03:00
André Meyer
141f045104
test: add unit tests for get_current_user (superset/tasks/utils.py) ( #40878 )
...
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-06-19 10:09:53 -07:00
dependabot[bot]
919bd35028
chore(deps): bump marshmallow from 3.26.2 to 4.3.0 ( #39751 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan <evan@preset.io >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-06-19 10:02:35 -07:00
Amin Ghadersohi
1467006427
fix(mcp): generate durable explore permalink URL instead of ephemeral form_data_key ( #40773 )
2026-06-19 08:50:11 -07:00
Furkan Emre Güngör
9d3efb0aab
fix(csv): apply CSV_EXPORT encoding explicitly, Werkzeug 3 removed Response.charset ( #40801 )
2026-06-19 08:49:27 -07:00
Elizabeth Thompson
0c9ece65bb
fix(reports): require user in get_screenshot, simplify Selenium lifecycle, and fail on tiled screenshot error ( #41080 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 15:46:17 -07:00
Elizabeth Thompson
7040388ad1
fix(query_object_factory): normalize deprecated query fields before constructing QueryObject ( #41204 )
2026-06-18 15:02:07 -07:00