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
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
Hugh A Miles II
3602619e98
fix(dashboard): address Excel export review feedback
...
Addresses PR #41133 review comments:
- Blank/stringify non-finite and out-of-range Decimal cells instead of
crashing xlsxwriter (shared _coerce_float_cell helper).
- Detect formula-injection prefixes behind leading whitespace via
_quote_if_formula (lstrip before checking).
- Correct the module docstring to scope the constant-memory guarantee to
the writer side (source rows may be materialized upstream).
- Append a "[Truncated: ...]" notice row when a sheet exceeds Excel's
per-sheet row cap so dropped rows are visible.
- Note AWS S3's 7-day pre-signed URL cap on EXCEL_EXPORT_LINK_TTL_SECONDS.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 12:22:41 -04: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
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
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
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
Hugh A Miles II
1f1b77b0ff
test(mcp): set dashboard.embedded in update_dashboard mock
...
The _mock_dashboard helper sets every serializer-touched field as a list, but
embedded was missed when the dashboard serializer began reading
dashboard.embedded[0].uuid (#41195 ). A bare Mock is truthy but not
subscriptable, so the serializer crashed with 'Mock object is not
subscriptable'. Set embedded=[] like the other relationship mocks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 15:55:38 -04: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
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
Hugh A Miles II
b6b40457b9
fix(export): import boto3 lazily so app startup never requires it
...
superset/utils/s3.py imported boto3 at module level, and the dashboard API
imports the export task (which imports this module) at startup. Since boto3 is
not a base dependency, production images without it crashed on boot, failing
deploy health checks. Move the import into the client factory (matching
db_engine_specs/aws_iam.py); boto3 is only needed when an export actually runs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-27 08:35:41 -04: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
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