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