Evan and Claude Opus 4.8
c0af873a9c
fix(lineage): address review feedback (i18n, permissions, node identity)
...
- Wrap untranslated "Details" JSX text in t() (fixes pre-commit custom
rules + babel-extract regression)
- Filter dataset/chart/dashboard lineage endpoints by the current user's
permissions so they never expose charts, dashboards, or datasource
metadata the user cannot access (mirrors existing related_objects /
get_datasets redaction patterns)
- Register DashboardLineageResponseSchema in openapi_spec_component_schemas
to resolve the dangling $ref in the generated API spec
- Key Sankey graph nodes and the node-details map by a stable unique
identity (type:id) so entities sharing a display name no longer collapse
into a single node; keep the human-readable title as a separate label
- Add a skip mechanism to useApiV1Resource / lineage hooks so empty-id
callers (e.g. LineageModal) no longer fire requests against invalid
endpoints like /api/v1/chart//lineage
- Defer the dataset edit page lineage fetch until the Lineage tab is active
- Make "View lineage" available in dashboard view mode, not only edit mode
- Compare data["result"] in lineage integration tests to match the
result-wrapped API contract
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-19 21:18:20 -07:00
Claude Code and Jonathan Alberth Quispe Fuentes
2ab7b388d0
feat(lineage): add lineage visualization across datasets, charts and dashboards
...
Adopts #37701 by @qf-jonathan. Adds interactive Sankey-based lineage that shows
the data relationships for a dataset, chart, or dashboard: three REST endpoints
(/api/v1/lineage/{dataset|chart|dashboard}/<id>) plus a LineageView/LineageModal
frontend surfaced from the dataset editor and the chart/dashboard menus.
Rebased onto current master and updated for drift since the original branch:
- repointed lineage imports from the removed '@apache-superset/core/ui' to
'@apache-superset/core/translation' and '/theme'
- re-applied the dataset lineage tab onto the migrated (TypeScript) DatasourceEditor
Closes #37701
Co-authored-by: Jonathan Alberth Quispe Fuentes <qf.jonathan@gmail.com >
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-19 21:18:19 -07:00
Mike Ma and Evan Rusackas
2eb1e04283
fix: hydrate JWT user before list API filters ( #39946 )
...
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-08-10 14:18:28 -07:00
SkinnyPigeon and Evan
8c5d465a65
feat(datasets): add RLS filter indicator badge to dataset list and explore view ( #38807 )
...
Co-authored-by: Evan <evan@preset.io >
2026-07-22 10:07:52 -07:00
40a13883ea
refactor: do not cascade to SqlMetric ( #42221 )
...
Co-authored-by: Evan Rusackas <evan@rusackas.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-21 10:26:01 -07:00
Hans Yu
6c58afe6ac
refactor: do not cascade to TableColumn ( #42222 )
2026-07-21 09:00:47 -07:00
Hans Yu
68ebc22e1e
refactor: replace Engine.execute() with Connection.execute() ( #41917 )
2026-07-13 09:40:33 -07:00
Ville Brofeldt
33f0fc93ed
feat: introduce Subject model and entity editors/viewers ( #38831 )
2026-07-08 11:00:03 -07:00
Daniel and Claude Fable 5
34d4966f8b
fix(dataset): resolve duplicate virtual dataset validation error ( #37932 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-08 08:27:13 -07:00
04f8b700d7
feat(datasets): soft-delete and restore ( #40130 )
...
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-07 08:57:08 -07:00
Hans Yu
c49391ab08
refactor: update Connection.execute() to use queries with text() ( #40277 )
2026-06-22 15:36:15 -07:00
Abdul Rehman
cb1694575c
fix(dataset-api): disambiguate get_or_create by schema ( #40494 )
2026-06-22 09:45:02 -07:00
Cezar and Cursor
df0668eda5
feat(api): return uuid in POST response for dataset, chart, and dashboard ( #37806 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-13 16:53:08 -07:00
Beto Dealmeida
edf4d03218
chore: bump rison to 2.0.0 ( #39529 )
2026-04-24 15:52:42 -04:00
Richard Fogaca Nienkotter
9c288d66b5
fix(dataset): add missing currency_code_column to DatasetPostSchema ( #38853 )
2026-03-26 16:58:04 -03:00
Richard Fogaca Nienkotter
5278deaf63
fix(metrics): normalize legacy currency strings ( #37455 )
2026-02-19 21:25:44 -03:00
Gabriel Torres Ruiz
0a75bac2a1
fix(error-handling): jinja2 error handling improvements ( #34803 )
2025-09-02 17:29:07 -04:00
Maxime Beauchemin and Claude
4695be5cc5
fix: complete theme management system import/export ( #34850 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-09-01 15:44:01 -07:00
Vitor Avila
471d9fe737
fix: Add dataset ID to file name on exports ( #34782 )
2025-08-25 14:54:27 -03:00
Danylo Korostil
31e2143c84
feat(api): Added uuid filed support to dataset, chart, dashboard API ( #29573 )
2025-08-18 13:05:16 -07:00
Vitor Avila
49689eec6c
feat: Enable drilling in embedded ( #34319 )
2025-08-05 02:23:00 -03:00
Maxime Beauchemin and Claude
cb27d5fe8d
chore: proper current_app.config proxy usage ( #34345 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-07-31 19:27:42 -07:00
Beto Dealmeida
b794b192d1
fix: return 422 on invalid SQL ( #34303 )
2025-07-24 16:40:56 -04:00
Vitor Avila
733f112142
fix: Support metric currency as dict during import ( #34080 )
2025-07-07 14:00:56 -03:00
Vitor Avila
86e7139245
fix: Dataset currency ( #33682 )
2025-06-09 22:47:14 -03:00
Vitor Avila
cacf1e06d6
fix: Update dataset's last modified date from column/metric update ( #33626 )
2025-06-03 12:20:38 -03:00
Vitor Avila
72cd9dffa3
fix: Persist catalog change during dataset update + validation fixes ( #33384 )
2025-05-08 15:22:25 -03:00
Beto Dealmeida and Maxime Beauchemin
7ab8534ef6
feat: dataset folders (backend) ( #32520 )
...
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com >
2025-04-11 11:38:08 -07:00
Paul Rhodes
8decc9e45f
feat(api): Added uuid to list api calls ( #32414 )
2025-03-05 16:28:29 -08:00
Evan Rusackas
90651dfe3e
fix(dev/ci): pre-commit fixes galore ( #32352 )
2025-02-24 11:26:45 -07:00
Maxime Beauchemin and Elizabeth Thompson
e51b95ffa8
chore: enforce more ruff rules ( #31447 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
2024-12-18 17:41:34 -08:00
Vitor Avila
e79778ac6d
feat(dataset API): Add parameter to optionally render Jinja macros in API response ( #30721 )
2024-10-30 12:42:27 -03:00
Maxime Beauchemin
a849c29288
chore: enable lint PT009 'use regular assert over self.assert.*' ( #30521 )
2024-10-07 13:17:27 -07:00
Beto Dealmeida
39209c2b40
fix: handle empty catalog when DB supports them ( #29840 )
2024-08-13 10:08:43 -04:00
Beto Dealmeida
61c0970968
fix: create permissions on DB import ( #29802 )
2024-08-06 12:09:21 -04:00
John Bodley
8fb8199a55
chore(dao/command): Add transaction decorator to try to enforce "unit of work" ( #24969 )
2024-06-28 12:33:56 -07:00
Maxime Beauchemin
7dd28a9003
chore: remove sl_ tables ( #28704 )
2024-05-29 19:04:37 -07:00
Eyal Ezer and Eyal Ezer
07b2449bd7
refactor: Unify all json.(loads|dumps) usage to utils.json ( #28702 )
...
Co-authored-by: Eyal Ezer <eyal.ezer@ge.com >
2024-05-28 14:17:41 -07:00
Beto Dealmeida
f29e1e4c29
feat: catalog support for Databricks native ( #28394 )
2024-05-09 17:41:15 -04:00
Daniel Vaz Gaspar
9c065951e7
fix: tests on database, dataset, saved_queries apis ( #28397 )
2024-05-09 13:43:31 +01:00
John Bodley
467e612533
fix: Remedy logic for UpdateDatasetCommand uniqueness check ( #28341 )
2024-05-07 06:42:37 -07:00
Maxime Beauchemin
513852b7c3
fix: all_database_access should enable access to all datasets/charts/dashboards ( #28205 )
2024-05-02 09:25:14 -07:00
Maxime Beauchemin
3ac387bb66
chore: enable ruff's isort equivalent ( #28267 )
2024-04-30 18:29:49 -07:00
Beto Dealmeida
6cf681df68
feat(SIP-95): new endpoint for table metadata ( #28122 )
2024-04-25 12:23:49 -04:00
Maxime Beauchemin
2d63722150
chore: set up ruff as a new linter/formatter ( #28158 )
2024-04-24 17:19:53 -07:00
Beto Dealmeida
99a1601aea
refactor: rename get_sqla_engine_with_context ( #28012 )
2024-04-12 13:31:05 -04:00
John Bodley
481a63da55
chore(tests): Remove ineffectual login ( #27149 )
2024-04-09 09:52:02 -07:00
Vitor Avila
66bf70172f
fix(API): Updating assets via the API should preserve ownership configuration ( #27364 )
2024-03-06 16:40:41 +00:00
John Bodley
847ed3f5b0
refactor: Ensure Flask framework leverages the Flask-SQLAlchemy session (Phase II) ( #26909 )
2024-02-14 06:20:15 +13:00
John Bodley
77bd7cf1c6
chore: Reenable SQLite tests which leverage foreign key constraints et al. ( #24605 )
2024-01-09 06:33:47 +13:00