Enzo Martellucci
55088e10da
feat(database-modal): add validation loading state and duplicate name check ( #36880 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-07-02 16:52:13 -07:00
Mike Bridge
bdc610c572
fix(db): use a private engine for prequery connections to avoid listener race ( #41642 )
...
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io >
2026-07-02 16:30:09 -07:00
Elizabeth Thompson
d8832c382d
fix(views): emit deprecated-endpoint log warning once per endpoint per process ( #41286 )
2026-07-02 16:10:37 -07:00
Yuriy Krasilnikov
ab0e77c1cb
fix(embedded): allow guest users to sort by visible columns ( #37371 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 15:50:56 -07:00
Joe Li
a30846881b
test(ci): stabilize master checks ( #41650 )
2026-07-02 15:32:06 -07:00
Mike Bridge
be46d65e3b
fix(dao): SQL-faithful NULL and non-string handling in LIKE-family operators ( #41653 )
...
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io >
2026-07-02 10:04:35 -07:00
Evan Rusackas
2992d7b4c8
feat(database): add databricks oauth support ( #41421 )
...
Co-authored-by: fabian_zse <fabian@zalando.de >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-02 09:26:08 -07:00
Mehmet Salih Yavuz
a48ca9ce72
fix(sqllab): reject blank saved query and dataset names ( #41624 )
...
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com >
2026-07-02 14:03:14 +03:00
Amin Ghadersohi
c3f5e997a1
feat(mcp): chart type plugin registry for extensible generate_chart ( #39922 )
2026-07-02 00:31:19 -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
Evan Rusackas
8be255de40
chore(i18n): harden backfill_po — full language-name map + resilient batch translation ( #41644 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 16:28:19 -07: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
Nitish Agarwal
792d677634
fix(reports): respect CSV_EXPORT sep and decimal config in email reports ( #38616 )
2026-07-01 10:23:48 -07:00
Evan Rusackas
2d2a72b721
fix(sqllab): show non-ASCII text in array/JSON columns instead of \uXXXX escapes ( #41533 )
...
Co-authored-by: Vladislav Korenkov <73882772+Quatters@users.noreply.github.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 10:22:11 -07:00
Amin Ghadersohi
7f4cac63c9
fix(mcp): escape LIKE wildcards in find_users to prevent user enumeration ( #41593 )
2026-07-01 13:01:46 -04:00
Shaitan
2da2db6c7c
feat(sql): schema-qualified table denylist + information_schema/lo_* defaults ( #41120 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-01 16:57:45 +01:00
Shaitan
3651020014
fix(sql): cap parser input length via SQL_MAX_PARSE_LENGTH config ( #40499 )
...
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
Co-authored-by: sha174n <pedro.sousa@preset.io >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-07-01 16:32:12 +01:00
Mike Bridge
b9e3f0aa1e
feat(soft-delete): gate soft delete behind a temporary SOFT_DELETE release toggle ( #41166 )
...
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-01 08:09:52 -07:00
Raphael Prudencio
7cc7e9f6e3
fix(async-query): prevent JWT InvalidSubjectError for guest users ( #37862 )
...
Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
2026-06-30 23:42:41 -07:00
Evan Rusackas
35194fe4d5
fix(i18n): key translation-regression check on per-msgid transitions ( #41596 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 16:54:39 -07:00
Amin Ghadersohi
fd9c84be43
feat(mcp): add get_dashboard_datasets tool ( #40961 )
2026-06-30 18:27:09 -04:00
Amin Ghadersohi
2bd9ab4c59
feat(mcp): add remove_chart_from_dashboard tool ( #40958 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 18:16:08 -04:00
Amin Ghadersohi
bf88c62814
feat(mcp): add manage_native_filters tool ( #40960 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 17:07:49 -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
Amin Ghadersohi
c60d8bb656
feat(mcp): add tags + typed metadata fields to update_dashboard ( #40957 )
2026-06-30 10:36:31 -07:00
Amin Ghadersohi
c11fa206ce
feat(mcp): add duplicate_dashboard tool ( #40959 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 10:36:19 -07:00
yousoph
b8b23d6219
fix(bigquery): quote dotted STRUCT columns per-segment in drill to detail ( #41462 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-29 22:45:31 -07:00
Elizabeth Thompson
134919ea36
fix(screenshots): catch empty-bytes tiled result and set ERROR on falsy image ( #41097 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-29 11:52:40 -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
Evan Rusackas
16a3405e3c
fix(i18n): skip unparseable catalogs when building translation index ( #41465 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-29 10:11:20 -07:00
ʈᵃᵢ
a4d5b15955
fix(slack): support org-scoped tokens on Enterprise Grid via SLACK_TE… ( #41473 )
2026-06-29 09:46:25 -07:00
Evan Rusackas
1b7b9ce948
fix(tags): remove unsatisfiable foreign keys from tagged_object.object_id ( #41126 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-06-29 09:30:04 -07:00
Abdul Rehman
a529945d3b
fix(reports): commit permalink before Playwright navigation ( #41051 )
2026-06-28 17:48:44 -07:00
Evan Rusackas
7fc1113c31
fix(telemetry): use Scarf static pixel instead of gateway redirect ( #41129 )
...
Co-authored-by: Superset Dev <dev@superset.apache.org >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-27 22:41:17 -07:00
ʈᵃᵢ
25c9f3510a
test(mcp): set embedded on update_dashboard test mock ( #41495 )
2026-06-28 11:19:01 +07:00
Elizabeth Thompson
5ec0931840
fix(pandas_postprocessing): pass string operator names to GroupBy.agg to avoid FutureWarning ( #41025 )
2026-06-27 15:01:43 -07:00
Shaitan
cd8ac41d16
fix(datasource): validate expressions through the shared adhoc-expression checks ( #41427 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 19:47:59 +01:00
Krishna Chaitanya
a147079043
fix(bigquery): backslash-escape apostrophes in filter values ( #38835 )
...
BigQuery rejects filter values containing apostrophes (e.g. O'Brien): the
sqlalchemy-bigquery dialect renders string literals via repr(), which switches
to double-quote delimiters that BigQuery parses as identifiers, causing a
syntax error.
Monkey-patch the dialect's colspecs with a TypeDecorator whose literal_processor
emits single-quoted literals using backslash escaping ('O\'Brien'). Doubled
single quotes ('O''Brien') are NOT valid in BigQuery (parsed as concatenated
literals). Control characters are emitted as named escapes with a \xhh fallback,
since BigQuery forbids literal control chars in quoted strings. Follows the
existing Databricks dialect pattern.
Fixes #35857
2026-06-27 00:55:47 -07:00
Onur Taşhan
1280eaee18
fix(mcp): include embedded_uuid in get_dashboard_info response ( #41195 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-26 18:00:10 -07:00
Joe Li
98d0ccd7a7
fix(reports): reliability fixes for alert/report execution ( #41177 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 12:09:12 -07:00
Evan Rusackas
8aacb6f793
fix(async): derive async channel from guest token for embedded RLS queries ( closes #31492 ) ( #41397 )
...
Co-authored-by: Devin AI <devin-ai-integration[bot]@users.noreply.github.com>
2026-06-26 12:09:06 -07:00
Evan Rusackas
068a709c14
fix(config): expose build details (git SHA/build number) to admins only ( #41301 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-26 12:08:04 -07:00
Evan Rusackas
71c8e2f69d
fix(config): refuse to start with an empty SECRET_KEY ( #41299 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-06-26 12:07:17 -07:00
Amin Ghadersohi
a5dbb394e5
fix(thumbnails): add deduplication to dashboard thumbnail Celery tasks ( #38576 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-26 12:41:02 -04: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