Commit Graph

2560 Commits

Author SHA1 Message Date
Evan Rusackas
884681fa13 fix(result_set): preserve JSON/JSONB data as objects instead of strings
This fix ensures that JSON and JSONB data from databases (like PostgreSQL)
is preserved as Python objects (dicts/lists) when converting result sets
to pandas DataFrames. Previously, nested data types were being stringified,
which broke features like Handlebars templates that need to access JSON
data as objects rather than strings.

The fix works by:
1. Tracking columns with nested/JSON data before stringification
2. Restoring the original Python objects when converting to pandas

Fixes #25125

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-23 16:27:59 -08:00
Evan Rusackas
c4eb7de6de fix(excel): remove unwanted index column from Excel exports (#38176)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 08:28:40 -08:00
Vitor Avila
228b598409 feat: Labels for encrypted fields (#38075) 2026-02-23 13:23:33 -03:00
Amin Ghadersohi
6e94a6c21a fix(mcp): fix dashboard chart placement with proper COLUMN layout and tab support (#37970)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 16:41:10 +01:00
Amin Ghadersohi
2a3567d2f1 fix(mcp): Remove unsupported thumbnail/preview URLs and internal fields from MCP schemas (#38109) 2026-02-23 12:44:12 +01:00
Enzo Martellucci
b565128fe7 fix(charts): improve error display for failed charts in dashboards (#37939) 2026-02-20 15:14:48 -08:00
Ujjwaljain16
2d44f52ad1 fix(encryption): resolve SECRET_KEY lazily to fix silent re-encrypt-secrets failures (#37982) 2026-02-20 14:10:09 -08:00
wuqicyber
6f34ba7d4a fix(table-chart): support orderby adhoc columns with server-side pagination (#37521) 2026-02-21 00:29:34 +03:00
Amin Ghadersohi
9f8b212ccc feat(mcp): add LIKE, ILIKE, IN, NOT IN filter operators to MCP chart tools (#38071) 2026-02-20 11:56:40 +01:00
Amin Ghadersohi
1ecff6fe5c fix(thumbnails): stabilize digest by sorting datasources and charts (#38079)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 09:51:35 +01:00
Richard Fogaca Nienkotter
5278deaf63 fix(metrics): normalize legacy currency strings (#37455) 2026-02-19 21:25:44 -03:00
Kamil Gabryjelski
f5a5a804e2 perf(dashboard): skip thumbnail_url computing on single dashboard endpoint (#38015)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 18:15:20 +01:00
Vitor Avila
9ec56f5f02 fix: Include app_root in next param (#37942) 2026-02-18 19:52:06 -03:00
Amin Ghadersohi
aec1f6edce fix(mcp): use last data-bearing statement in execute_sql response (#37968)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 13:13:55 +01:00
Amin Ghadersohi
f7218e7a19 feat(mcp): expose current user identity in get_instance_info and add created_by_fk filter (#37967) 2026-02-17 13:11:34 +01:00
Amin Ghadersohi
5cd829f13c fix(mcp): handle more chart types in get_chart_data fallback query construction (#37969)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 13:02:42 +01:00
Kamil Gabryjelski
3e3c9686de perf(dashboard): Batch RLS filter lookups for dashboard digest computation (#37941) 2026-02-16 21:35:55 +01:00
Mehmet Salih Yavuz
7b21979fa3 fix(charts): Force refresh uses async mode when GAQ is enabled (#37845) 2026-02-16 21:45:10 +03:00
Türker Ziya Ercin
440602ef34 fix(utils): datetime_to_epoch function is fixed to timezone aware epoch (#37979) 2026-02-15 22:36:18 +07:00
Michael S. Molina
e3e2bece6b feat(owners): display email in owner selectors (#37906) 2026-02-13 09:01:05 -03:00
Joe Li
6328e51620 test(examples): add tests for UUID threading and security bypass (#37557)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 14:12:12 -08:00
Jonathan Alberth Quispe Fuentes
88ce1425e2 fix(roles): optimize user fetching and resolve N+1 query issue (#37235) 2026-02-12 09:32:19 -08:00
Amin Ghadersohi
4dfece9ee5 feat(mcp): add event_logger instrumentation to MCP tools (#37859) 2026-02-12 16:50:20 +01:00
Amin Ghadersohi
3f64c25712 fix(mcp): Add database_name as valid filter column for list_datasets (#37865)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 16:47:46 +01:00
Ville Brofeldt
00d02cb2ea perf(gtf): improve task base filter (#37900) 2026-02-11 10:40:07 -08:00
Kamil Gabryjelski
26a2e12779 perf: fix N+1 query in Slice.datasource property (#37899) 2026-02-11 18:57:28 +01:00
Ville Brofeldt
255a0ada81 fix(gtf): add missing user_id to task commands (#37867) 2026-02-11 09:04:27 -08:00
Kamil Gabryjelski
98ca599eef perf: fix N+1 query in chart list API when thumbnail_url is requested (#37895) 2026-02-11 17:19:48 +01:00
Luis Sánchez
88a14f2ba0 fix(FiltersBadge): world map wont show filter icon after refresh page (#37260) 2026-02-11 16:33:32 +03:00
Ville Brofeldt
74e1607010 fix(extensions): broken test (#37871) 2026-02-11 08:33:45 -03:00
Michael S. Molina
c41942a38a chore(deps): Upgrade sqlglot from 27.15.2 to 28.10.0 (#37841) 2026-02-10 13:13:11 -03:00
Ville Brofeldt
0f1278fa61 fix(gtf): set dedup_key on atomic sql (#37820) 2026-02-10 06:56:14 -08:00
Ville Brofeldt
59dd2fa385 feat: add global task framework (#36368) 2026-02-09 10:45:56 -08:00
Amin Ghadersohi
15b3c96f8e fix(security): Add table blocklist and fix MCP SQL validation bypass (#37411) 2026-02-09 14:12:06 +01:00
Alexandru Soare
9ea5ded988 fix(dashboard): Prevent fatal error when database connection is unavailable (#37576) 2026-02-06 20:52:17 -08:00
Amin Ghadersohi
01ac966b83 fix(mcp): remove html.escape to fix ampersand display in chart titles (#37186)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 19:49:37 -08:00
Amin Ghadersohi
47db185e3b fix(mcp): include x_axis column in query context for series charts with group_by (#37639) 2026-02-05 19:59:44 +01:00
Amin Ghadersohi
4147d877fc fix(mcp): prevent DATE_TRUNC on non-temporal columns in chart generation (#37433) 2026-02-05 09:24:31 -08:00
Amin Ghadersohi
a9dca529c1 fix(mcp): treat runtime validation warnings as informational, not errors (#37214)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 09:23:51 -08:00
Jamile Celento
2dfc770b0f fix(native-filters): update TEMPORAL_RANGE filter subject when Time Column filter is applied (#36985) 2026-02-04 12:37:17 +03:00
Elizabeth Thompson
e9b494163b refactor(db): use Dialect instead of Engine in select_star to avoid SSH tunnels (#35540)
Co-authored-by: Claude <noreply@anthropic.com>
2026-02-02 10:26:35 -08:00
Beto Dealmeida
5d20dc57d7 feat(oauth2): add PKCE support for database OAuth2 authentication (#37067) 2026-01-30 23:28:10 -05:00
Beto Dealmeida
05c2354997 feat: AWS Cross-Account IAM Authentication for Aurora (#37585) 2026-01-30 19:18:34 -05:00
Vitor Avila
6043e7e7e3 fix: more DB OAuth2 fixes (#37398) 2026-01-30 21:11:26 -03:00
Gabriel Torres Ruiz
06e4f4ff4c fix(dashboard): catch DatasourceNotFound in get_datasets to prevent 404 (#37503) 2026-01-28 15:54:56 -08:00
Amin Ghadersohi
6663709a23 fix(mcp): tools not listed when JWT auth is enabled (#37377) 2026-01-28 11:20:20 +01:00
Amin Ghadersohi
e6d0f97aab fix(mcp): always filter list responses by columns_requested (#37505) 2026-01-28 11:15:19 +01:00
Peng Ren
73d4332b51 feat(database): SIP-195 Add MongoDB database engine support (#37368)
Co-authored-by: Peng Ren <ia250@cummins.com>
2026-01-26 15:51:35 -08:00
Daniel Vaz Gaspar
290bcc1dbb feat(cache): use configurable hash algorithm for flask-caching (#37361) 2026-01-26 10:19:51 -08:00
JUST.in DO IT
4db6f9e04c chore(trino): Add progress_text for additional running state info (#36909) 2026-01-26 09:11:33 -08:00