Joe Li
0cdd9581ce
refactor(reports): deduplicate database check and add precedence integration test
...
Extract repeated effective-database logic into a single computation
in UpdateReportScheduleCommand.validate(). Add integration test
asserting Report + nonexistent DB returns "not allowed" (not "does
not exist") to lock API contract precedence.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 13:21:47 -08:00
Joe Li
cb6a499abd
test(reports): fix type hints and add error precedence test
...
Fix MagicMock/str type hints to match runtime types (Mock,
ReportScheduleType). Add test asserting Report + nonexistent DB
returns "not allowed" (not "does not exist") to lock API contract.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-23 11:58:21 -08:00
Joe Li
ee0f0e4e8e
fix(tests): add missing __init__.py to prevent module name collision
...
Pytest collection fails when two files named update_test.py exist in
different directories without __init__.py — the module resolves as a
top-level name and collides with tags/commands/update_test.py.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 19:11:06 -08:00
Joe Li
e6fa96878e
test(reports): add database validation edge case tests
...
- No-mutation-on-422: verify rejected PUT does not change model state
- POST parity guard: confirm POST with Report+database still returns 400
- Bad DB on transition: Report→Alert with nonexistent DB returns 422
- Command-level unit matrix: 12 tests covering all effective type/database
combinations (payload absent vs None vs int, model DB present/absent,
type transitions in both directions)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 18:05:54 -08:00
Joe Li
c78624b20e
fix(reports): validate database field on PUT report schedule
...
PUT /api/v1/report/{id} with {"database": N} on a Report-type schedule
returned 500 instead of a validation error. The POST schema had this
check but the PUT path lacked it.
- Add ReportScheduleDatabaseNotAllowedValidationError exception
- Add command-level validation in UpdateReportScheduleCommand enforcing
both invariants: Reports must not have a database, Alerts must have one
- Add allow_none=True on ReportSchedulePutSchema.database to allow
clearing via PUT (consistent with dashboard field)
- Use explicit null check (database_id is not None) for DB existence
validation to handle edge cases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 17:27:16 -08:00
dependabot[bot]
5efc7ea5a5
chore(deps-dev): bump typescript-eslint from 8.55.0 to 8.56.0 in /docs ( #38024 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: hainenber <dotronghai96@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hainenber <dotronghai96@gmail.com >
2026-02-18 12:10:50 +07:00
dependabot[bot]
b0f9a73f63
chore(deps-dev): bump typescript-eslint from 8.54.0 to 8.56.0 in /superset-websocket ( #38020 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 11:49:11 +07:00
dependabot[bot]
746e266e90
chore(deps): bump swagger-ui-react from 5.31.0 to 5.31.1 in /docs ( #38023 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 11:37:51 +07:00
Damian Pendrak
5a777c0f45
feat(matrixify): add single metric constraint ( #37169 )
2026-02-17 09:12:24 -08: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
dependabot[bot]
9566e8a9c6
chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.8.5 to 0.9.1 in /superset-frontend ( #38000 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-17 12:03:13 +07:00
dependabot[bot]
604d49f557
chore(deps): bump datamaps from 0.5.9 to 0.5.10 in /superset-frontend ( #37913 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 14:51:03 -08:00
SBIN2010
84f1ee4409
feat: added conditional formatting enhancements string to pivot table ( #35863 )
2026-02-17 01:08:41 +03: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
Đỗ Trọng Hải
8853ff19d4
chore(websocket): migrate external uuid usage with Node's native UUID generator ( #37101 )
...
Signed-off-by: hainenber <dotronghai96@gmail.com >
2026-02-16 18:05:10 +07:00
Damian Pendrak
22ac5e02b6
fix(deckgl): remove dataset field from Deck.gl Layer Visibility Display controls ( #37611 )
2026-02-16 11:58:23 +01:00
dependabot[bot]
2c9f0c1c2a
chore(deps-dev): bump wait-on from 9.0.3 to 9.0.4 in /superset-frontend ( #37999 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 17:18:23 +07:00
dependabot[bot]
d47a7105df
chore(deps): bump caniuse-lite from 1.0.30001769 to 1.0.30001770 in /docs ( #37994 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 15:42:53 +07:00
dependabot[bot]
c873225308
chore(deps-dev): bump jsdom from 28.0.0 to 28.1.0 in /superset-frontend ( #37997 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 15:42:28 +07:00
dependabot[bot]
982e2c1ef7
chore(deps-dev): bump webpack from 5.105.0 to 5.105.2 in /superset-frontend ( #38003 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 15:36:17 +07:00
dependabot[bot]
eee3af5775
chore(deps-dev): bump oxlint from 1.46.0 to 1.47.0 in /superset-frontend ( #38005 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 15:35:29 +07:00
dependabot[bot]
232b34d944
chore(deps-dev): bump webpack-sources from 3.3.3 to 3.3.4 in /superset-frontend ( #38004 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 15:35:03 +07:00
dependabot[bot]
d748ed19ce
chore(deps): bump hot-shots from 13.2.0 to 14.0.0 in /superset-websocket ( #37993 )
2026-02-16 15:16:31 +07:00
dependabot[bot]
5300f65a74
chore(deps): bump qs from 6.14.1 to 6.14.2 in /superset-frontend ( #37936 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-16 13:39:06 +07: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
dependabot[bot]
cbf153845e
chore(deps): bump qs from 6.14.1 to 6.14.2 in /superset-websocket/utils/client-ws-app ( #37933 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-14 22:18:14 +07:00
dependabot[bot]
097f474f24
chore(deps): bump pillow from 11.3.0 to 12.1.1 ( #37935 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 16:00:47 -08:00
Joe Li
73adff55ee
chore(deps): Relax sqlalchemy-utils lower bound for pydoris compatibility ( #37949 )
2026-02-13 14:55:54 -08:00
dependabot[bot]
a65f73a532
chore(deps): bump qs from 6.14.1 to 6.14.2 in /docs ( #37937 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-14 01:01:42 +07:00
dependabot[bot]
475615e118
chore(deps): bump ioredis from 5.9.2 to 5.9.3 in /superset-websocket ( #37951 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 23:40:50 +07:00
dependabot[bot]
79f51e2ae7
chore(deps-dev): bump webpack from 5.105.1 to 5.105.2 in /docs ( #37953 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 23:39:56 +07:00
dependabot[bot]
75d6a95ac3
chore(deps): bump aquasecurity/trivy-action from 0.33.1 to 0.34.0 ( #37958 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 23:39:30 +07:00
dependabot[bot]
ffd7f10320
chore(deps): bump markdown-to-jsx from 9.7.3 to 9.7.4 in /superset-frontend ( #37959 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-13 23:09:31 +07:00
Michael S. Molina
e3e2bece6b
feat(owners): display email in owner selectors ( #37906 )
2026-02-13 09:01:05 -03:00
Jean Massucatto
0c0d915391
fix(echarts-timeseries-combined-labels): combine annotation labels for events at same timestamp ( #37164 )
2026-02-13 12:39:28 +03:00
Jamile Celento
080f629ea2
fix(echarts): formula annotations not rendering with dataset-level columns label ( #37522 )
2026-02-13 12:37:19 +03:00
Joe Li
142b2cc425
test(e2e): add Playwright E2E tests for Chart List page ( #37866 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 14:16:11 -08: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
Joe Li
0d5ddb3674
feat(themes): add enhanced validation and error handling with fallback mechanisms ( #37378 )
...
Co-authored-by: Rafael Benitez <rebenitez1802@gmail.com >
Co-authored-by: Claude <noreply@anthropic.com >
2026-02-12 14:06:58 -08:00
Pat Buxton
58d245c6b0
chore(deps): Update sqlachemy-utils to 0.42.0 ( #36240 )
2026-02-12 12:39:06 -08:00
Jean Massucatto
dbf5e1f131
feat(theme): use IBM Plex Mono for code and numerical displays ( #37366 )
...
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 09:32:41 -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
dependabot[bot]
afacca350f
chore(deps-dev): bump oxlint from 1.42.0 to 1.46.0 in /superset-frontend ( #37917 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: hainenber <dotronghai96@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hainenber <dotronghai96@gmail.com >
2026-02-12 21:45:26 +07:00
dependabot[bot]
30ccbb2e05
chore(deps): update @types/geojson requirement from ^7946.0.10 to ^7946.0.16 in /superset-frontend/plugins/plugin-chart-cartodiagram ( #37908 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-12 20:59:28 +07:00
Michael S. Molina
19ec7b48a0
fix: Conditional formatting painting empty cells ( #37894 )
2026-02-12 10:22:00 -03:00