You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by hu...@apache.org on 2026/10/13 15:40:04 UTC
(superset) branch hughhhh/pfm-6-explore-indicator updated (e95d22bf2bc -> 267a6ce2eff)
This is an automated email from the ASF dual-hosted git repository.
hughhhh pushed a change to branch hughhhh/pfm-6-explore-indicator
in repository https://gitbox.apache.org/repos/asf/superset.git
discard e95d22bf2bc Update superset/config.py
omit ad5bb47d4be fix(datasets): find a Jinja block without a quadratic regex
omit 4eb61ef1e93 chore: regenerate the message catalogs
omit b731e7e4c24 fix(datasets): repair the mapping when a column is deleted on its own
omit 9a60a4c4c69 fix(security): redact the partition mapping from a dataset the caller cannot access
omit b4da0a45ef9 fix(security): refuse a transform that reads a sequence
omit 44dbd8f958d chore: regenerate the message catalogs
omit bea3f623528 fix(datasets): repair the mapping on the legacy v0 import path too
omit e7e22dfcb7f fix(datasource): re-check the preview's identity after normalizing an error
omit f6b7e7770db fix(explore): stop the glyph promising a mirror an offset declines
omit 2190872dccd fix(datasets): publish the preview's offset reason in the API spec
omit 571fc584932 fix(security): deny the Oracle function that reads a table by path string
omit e2d86329871 fix(security): refuse a transform that names something through a U& escape
omit 15cc6a83fdb fix(datasets): let the engine say which text it reads as an instant
omit 7d76e9b0f8d fix(datasets): rebase the migration onto master's current head
omit a595d2512bf chore: regenerate the message catalogs
omit 19fbe2610ef fix(security): deny the Oracle functions that run their argument as a query
omit 5cc3d088ab2 fix(datasource): show a mapping issue the owner can save through as a warning
omit b5d9288b9d4 fix(datasource): merge a column sync against the state it comes back to
omit 0125b7a530b fix(datasets): repair the mapping when an upload replaces a dataset's columns
omit 678cc3a3f0a test(datasets): freeze the clock the preview budget buckets on
omit 639c619672e fix(datasets): hold a mirror to the comparison the engine performs
omit bc5649043a2 fix(datasets): decline an array element the dialect cannot render
omit 13661bef2dd chore: regenerate the message catalogs
omit 06e6f38b594 fix(datasets): stop the partition column help claiming it hides the column
omit bcb8d101fd0 fix(datasets): preview a numeric temporal column in its stored representation
omit 6e6eb0b3e16 fix(datasets): preview an array column with the literal the chart probes
omit 531bd7ce06d fix(datasets): say why preview withdraws text equality
omit f6c05cd6972 fix(datasets): probe a numeric filter value in the column's number type
omit 40a770cb870 fix(datasets): decline an offset-bearing filter value on a full-resolution column
omit 0928eb53ecb chore(datasets): name the migration's real parent in its docstring
omit 08602af28c8 fix(datasets): check the literal resolution of an unflagged DATE column
omit 84b8257dd47 fix: pfm 8 merge and review (#45132)
omit 4c9db693f7b Update superset/migrations/versions/2026-09-23_00-01_a7f3c2e91d84_add_partition_filter_mapping.py
omit dd326a3a80a fix: partition-filtering on pfm-6 (#45058)
omit f8d413bbc8d Cursor/resolve pfm conflicts b2f7 (#45040)
omit 11a4782caa0 resolve conflicts
omit 35e863af248 fix(explore): stop designating a partition column changing its flags
omit dee08f46a7b chore: regenerate the message catalogs
omit 51bbe2c2e9f fix(datasets): preview a filter the way the chart path mirrors it
omit bda44084044 fix(security): stop a transform cancelling the placeholder-position gate
omit b082c306064 fix(datasets): decline a literal the engine reads more coarsely than we can
omit 6346d9d03c2 fix(datasets): hold a text partition key to a text probe result
omit 71da9bfd1f3 fix(datasets): drop a mirror the ranking subquery has no filter for
omit 4fc53a41c91 fix(datasource): stop an edit reopening a row the user collapsed
omit d57622326ef fix(security): deny the full-text functions that run their argument as a query
omit be142e182c4 fix(explore): narrow the mapping where the glyph's gate already proves it
omit 2ee8cf29b32 docs(datasets): add the indicator to the list of things the cache carries
omit eb415f3812d fix(datasets): refuse a transform whose result the partition column cannot hold
omit 335827d3222 fix(datasets): only claim mirroring once a probe has reported
omit 402ea4e9501 fix(datasets): stop a column sync resetting flags it was not asked to change
omit 2ee95c69fef fix(explore): stop the glyph promising a mirror the engine's resolution declines
omit 8c14f76d7b9 fix(datasets): read a filter literal as the instant the engine compares
omit e3ae8421421 fix(datasets): reject a partition column the sync does not find (R5-02)
omit f80166d82b3 fix(datasets): mirror a strict bound non-strictly (R5-04)
omit e7892cbe3fa test(datasets): type the two new partition mapping test fixtures
omit bbbfbda8714 docs(datasets): name the cache backend the probe guards need
omit 85b09b01f3b fix(security): deny the schema_to_xml family and enforce the denylist on save
omit 1f1520dc5f3 perf(datasets): skip the partition probe during cache-key extraction
omit b0a4485b728 fix(datasource): restore the collection table's row-class and reveal props
omit 1cba63fea63 fix(datasets): carry the column-side mapping through a duplicate
omit 1406c4dca21 fix(datasets): repair mapping references after a metadata refresh
omit 123cfac882c fix(datasets): disarm parked transforms before an overwrite import
omit 016987c11ac fix(datasets): default an omitted monotonic declaration to false on import
omit 58ede1b0763 fix(datasets): probe an epoch-millisecond filter as SQL, not a bind value
omit bd639b53850 fix(datasets): widen a mirror to the day when the engine drops the time
omit 5db15d63f6d fix(datasets): substitute a probe's rendered SQL literally
omit e8c0a75c619 test(sql): cover the two SQLStatement methods directly
omit 05ffaabb397 docs(datasets): say what a partition value transform may be
omit 387db7f49a4 fix(datasets): validate the mapping against every column, not just physical
omit 3695f184251 fix(datasets): probe the transform the engine will actually run
omit 475071edcf2 chore: regenerate the OpenAPI spec and message catalogs
omit 03eb906664d fix(datasets): stop the editor losing edits it cannot show, or a sibling's
omit 3ece8b39b74 fix(explore): keep the pruning glyphs across a dataset save
omit 111fa6ac50c fix(datasets): mirror equality only where the engine compares exactly
omit 80999a9af0d fix(datasets): repair a dangling mapping against what the request asked for
omit b846420bc5f fix(datasets): stop create minting a dataset no write can fix
omit 58253986c3c fix(datasets): mirror the window each query actually filters
omit a3c55ce115a fix(datasets): probe the transform with the value the predicate compares
omit 7f17dc90030 fix(datasets): stop import discarding what a PUT deliberately keeps
omit ba092f5de00 fix(datasets): let preview refuse what the query path already refuses
omit 2695435d9e0 fix(datasets): require a value transform to be a bare scalar expression
omit 25f04a69dcb fix(datasets): stop the probe mangling its own SQL and its own results
omit 0c9dc2c72ca fix(datasets): let import accept the null export writes
omit 670efa96374 fix(datasets): gate every door a partition value transform enters by
omit 164a81c863d fix(datasets): disarm a parked transform before a mapping change arms it
omit 3f273af196f fix(explore): guard the map-a-different-column link against having no target
omit dc38110d3fe test(datasets): drop the permission the preview route no longer defines
omit 3f2ca8f9d11 fix(explore): hoist transformCanPreview, pin the empty-string sentinel
omit 58a52460906 refactor(datasets): name the shared transform bound in the preview schema
omit 06ca50c41c8 fix(explore): only promise pruning where the query actually prunes
omit a3c19b194ea fix(datasets): make the editor's claims match what will actually mirror
omit 0450dc695e0 fix(datasets): close the gate preview went around, and stop it 500ing
omit 942317cb039 fix(datasets): give the query path the same transform gate as the editor
omit 6cc520e1e2a fix(datasets): validate a partition mapping at every door, not just PUT
omit 11fa480c504 fix(explore): let the time range control config infer its own control type
omit b9b7dc12b45 fix(datasets): stop the save when the value transform cannot be saved
omit 5a931fe7491 fix(datasets): stop the value transform input dropping keystrokes
omit d56994fd285 test(explore): make the time range regression tests type-check
omit 96e4be7e3d4 test(explore): pin every chart that carries a standalone time range
omit c152a7f98a4 fix(datasets): do not carry a value transform to a new datetime column
omit 586a25fbdbd fix(explore): a control can never be its own validation dependant
omit d7888e1e0cc fix(explore): stop the time range control clobbering its own value
omit 7fd708aee67 fix(datasets): stop a stale partition transform surviving an API write
omit 8b93c5a21ce fix(explore): stop a removed or re-pointed mapping resurrecting a stale transform
omit 49d7b7ec70c fix(explore): keep exactly one column holding a partition mapping
omit 2d1429c09c8 style(explore): re-attach the partition column defaults docstring
omit 7dde9bafc76 fix(explore): keep the time range pruning glyph in sync with field updates
omit 788bbdf8b4a style(explore): apply oxfmt to the partition mapping helpers
omit 7b78bf16be8 fix(explore): only show the pruning glyph on filters that actually mirror
omit 7b346c7a07a feat(explore): indicate when a filter is mirrored onto a partition column
omit 0b1616a8772 style: let ruff format the preview sample-input return
omit 0a5f5707612 fix(datasets): correct the NULL-partition docs and stop hopeless previews
omit 9ffb535d969 fix: satisfy the frontend hooks on the partition mapping editor
omit 9979dfa3ab7 fix(datasets): drop an unused import from the dataset schemas
omit 52783748ca4 docs: correct where the partition mapping controls live
omit 16129260c86 fix(datasets): wrap long text in the partition mapping row expand
omit 5071e1b75e0 feat(datasets): add the partition filter mapping editor UI
omit dc9cfd5ec2e docs: document partition filter mapping
omit 94b8d042fe6 chore(datasets): add the preview strings to the message catalogs
omit a10539d1860 docs: regenerate the OpenAPI spec for the preview schema bounds
omit 425a5735796 fix(datasets): make the preview throttle atomic, bounded and fixed-window
omit 39464b4d201 feat(datasets): add partition mapping preview endpoint and editor plumbing
omit 7edc7fa6361 feat(datasets): mirror grain-bearing ranges by widening both bounds
omit 4c161373777 fix(datasets): key the transform probe on the connection
omit 50cc8612b34 fix(datasets): keep mirrored predicates no narrower than the filter
omit 7786b2caab5 feat(datasets): mirror filters onto the partition column at query time
omit 1a8a7ea7059 fix(datasets): gate partition mapping validation on the feature flag
omit 0c970faa704 fix(datasets): make the Explore mapping indicator agree with save-time validation
omit e4e6c54e30f chore(datasets): regenerate the message catalogs and the OpenAPI spec
omit 09135a4744e fix(datasets): don't let a partition mapping be clobbered, blocked or orphaned
omit b02acdcc9b8 test(sql): drop a leftover merge-resolution note from parse_tests
omit e202c8baabd fix(datasets): rebase the partition mapping migration onto master's head
omit ad93018bf70 docs(datasets): scope the PARTITION_FILTER_MAPPING flag description
omit ea1910f702a feat(datasets): add partition filter mapping model, migration and validation
add ea0687222a5 fix(dashboard): honour DASHBOARD_AUTO_REFRESH_INTERVALS in the refresh dropdown (#44982)
add 11b6997a488 fix(dashboard): drop missing semantic-view controls on restore (#45130)
add f923be702a1 fix(semantic-layer): report incompatible dashboard filters on semantic views instead of dropping them (#45105)
add f774479c990 fix(mcp): allow chart filtering by dataset ID (#44950)
add 60c66fe8d50 fix(explore): honor chart edit permissions for titles (#45146)
add 59404f47cd3 feat(mcp): target semantic views in chart tools (#44393)
add 945d8bbd632 fix(mcp): promote tools whose full names appear in a search query (#45149)
add 63a7a6e4eca chore(deps): bump chrono-node from 2.10.1 to 2.10.2 in /superset-frontend (#45227)
add dd1312b3c2b chore(deps-dev): bump the typescript-eslint group across 1 directory with 2 updates (#45224)
add aa321aab31d chore(deps): bump chromaui/action from 18.10.2 to 18.11.0 (#45222)
add a26c984279c chore(deps-dev): bump oxlint from 1.86.0 to 1.87.0 in /docs (#45226)
add 962272b6f20 feat(semantic-layer): allow toggling SEMANTIC_LAYERS at runtime (#45061)
add f154d23a954 fix(dashboard): reconcile position_json against membership on save (#44028)
add b39e1e0db71 chore(ci): correct upload-artifact version comment to v7.0.1 (#45229)
add 8f13b2b2e69 chore(ci): correct upload-artifact version comment in translations workflow (#45213)
add 9c70fa40159 chore(deps-dev): bump oxfmt from 0.71.0 to 0.72.0 in /docs (#45225)
add 1cedab01e9e chore(deps): bump geostyler-openlayers-parser from 5.7.1 to 5.8.0 in /superset-frontend (#45077)
add 0f875cadbe0 fix(network): refine address classification (#45230)
add 1578b8cbc11 fix(semantic-layer): restore value suggestions for semantic view filters (#45109)
add 6d974e19c51 fix(mcp): keep the saved chart variant when update_chart omits it (#45221)
add f18c034a689 fix(connection): let SupersetClient.postForm accept an absolute url (#45204)
add 1caea41f425 docs: give bare relative links an explicit extension (#43170)
add e7ca70c784e fix(datasource): apply target-table access check on same-database repoint (#44080)
add 1b10345f3bf docs(semantic-layer): write down member identity, grain, NULL and ordering rules in the SDK (#45108)
add 61a0fd28ec6 fix(semantic-layer): improve credential entry and connection feedback (#45173)
add 7aadf35e7d7 feat(mcp): accept a callable for MCP_DATASET_ROLE_ALLOWLIST (#45231)
add 139a06eee15 chore(ci): correct upload-artifact version comment to v7.0.1 (#45211)
add 8762f211383 feat(datasets): add partition filter mapping model, migration and validation
add 3b21411e197 docs(datasets): scope the PARTITION_FILTER_MAPPING flag description
add efe0e32532a fix(datasets): rebase the partition mapping migration onto master's head
add 6c9beb7698d test(sql): drop a leftover merge-resolution note from parse_tests
add 7010f75461b fix(datasets): don't let a partition mapping be clobbered, blocked or orphaned
add 6b820392936 chore(datasets): regenerate the message catalogs and the OpenAPI spec
add aa9e669482e fix(datasets): make the Explore mapping indicator agree with save-time validation
add 8da78899d51 fix(datasets): gate partition mapping validation on the feature flag
add 11fb8906f6a feat(datasets): mirror filters onto the partition column at query time
add 9123546e474 fix(datasets): keep mirrored predicates no narrower than the filter
add ec533680a56 fix(datasets): key the transform probe on the connection
add 78d578852cb feat(datasets): mirror grain-bearing ranges by widening both bounds
add 8d6e6ebf688 feat(datasets): add partition mapping preview endpoint and editor plumbing
add b6252d884a5 fix(datasets): make the preview throttle atomic, bounded and fixed-window
add 974f170c697 docs: regenerate the OpenAPI spec for the preview schema bounds
add 1301730ff21 chore(datasets): add the preview strings to the message catalogs
add 9d1b5125fc0 docs: document partition filter mapping
add d0c7c627dac feat(datasets): add the partition filter mapping editor UI
add fd094f9becc fix(datasets): wrap long text in the partition mapping row expand
add b0ab6f896c3 docs: correct where the partition mapping controls live
add 995f05a8cce fix(datasets): drop an unused import from the dataset schemas
add 9d080637851 fix: satisfy the frontend hooks on the partition mapping editor
add 3e4c91411c0 fix(datasets): correct the NULL-partition docs and stop hopeless previews
add b2bd557643d style: let ruff format the preview sample-input return
add ee74cb7d6af feat(explore): indicate when a filter is mirrored onto a partition column
add 0a15039f901 fix(explore): only show the pruning glyph on filters that actually mirror
add 8c42ca6575a style(explore): apply oxfmt to the partition mapping helpers
add 302b4108c3f fix(explore): keep the time range pruning glyph in sync with field updates
add 8c62dde42ee style(explore): re-attach the partition column defaults docstring
add c6dc4fb5da4 fix(explore): keep exactly one column holding a partition mapping
add 44ad6c14804 fix(explore): stop a removed or re-pointed mapping resurrecting a stale transform
add 23325b5dac0 fix(datasets): stop a stale partition transform surviving an API write
add 2745a62e691 fix(explore): stop the time range control clobbering its own value
add 83dabab5604 fix(explore): a control can never be its own validation dependant
add 25e7adfe030 fix(datasets): do not carry a value transform to a new datetime column
add e718f7f8b21 test(explore): pin every chart that carries a standalone time range
add 34cf32f1f7b test(explore): make the time range regression tests type-check
add b52142a4e10 fix(datasets): stop the value transform input dropping keystrokes
add 1ac9cbdea4e fix(datasets): stop the save when the value transform cannot be saved
add 2864af05a15 fix(explore): let the time range control config infer its own control type
add 0bc139ec796 fix(datasets): validate a partition mapping at every door, not just PUT
add 48231007cc2 fix(datasets): give the query path the same transform gate as the editor
add 1b30487b1e7 fix(datasets): close the gate preview went around, and stop it 500ing
add d70a8ec09e1 fix(datasets): make the editor's claims match what will actually mirror
add 16da957257c fix(explore): only promise pruning where the query actually prunes
add 532526a2619 refactor(datasets): name the shared transform bound in the preview schema
add 0747ff77dc4 fix(explore): hoist transformCanPreview, pin the empty-string sentinel
add 54e257bac18 test(datasets): drop the permission the preview route no longer defines
add ed19cad5dc2 fix(explore): guard the map-a-different-column link against having no target
add 8065da50b50 fix(datasets): disarm a parked transform before a mapping change arms it
add 890f6fe75f3 fix(datasets): gate every door a partition value transform enters by
add 642889731e2 fix(datasets): let import accept the null export writes
add 24e6aced3c9 fix(datasets): stop the probe mangling its own SQL and its own results
add 0a674a41cc6 fix(datasets): require a value transform to be a bare scalar expression
add 7d9f4350f4f fix(datasets): let preview refuse what the query path already refuses
add 47817de9dab fix(datasets): stop import discarding what a PUT deliberately keeps
add 53311647a70 fix(datasets): probe the transform with the value the predicate compares
add 29122b52ec8 fix(datasets): mirror the window each query actually filters
add 8271f05e90a fix(datasets): stop create minting a dataset no write can fix
add c7c1581abff fix(datasets): repair a dangling mapping against what the request asked for
add dcf6f651d15 fix(datasets): mirror equality only where the engine compares exactly
add ad0aab844b0 fix(explore): keep the pruning glyphs across a dataset save
add 880b87bd2d3 fix(datasets): stop the editor losing edits it cannot show, or a sibling's
add 7c9e0823447 chore: regenerate the OpenAPI spec and message catalogs
add 795d745d562 fix(datasets): probe the transform the engine will actually run
add cc233c237f8 fix(datasets): validate the mapping against every column, not just physical
add 16d21fd4c66 docs(datasets): say what a partition value transform may be
add ad67aa9d6b3 test(sql): cover the two SQLStatement methods directly
add 7e6b1d43152 fix(datasets): substitute a probe's rendered SQL literally
add 4cfbd692fd4 fix(datasets): widen a mirror to the day when the engine drops the time
add d32f3464c31 fix(datasets): probe an epoch-millisecond filter as SQL, not a bind value
add 6dd3d06c37a fix(datasets): default an omitted monotonic declaration to false on import
add 3656f53ffb6 fix(datasets): disarm parked transforms before an overwrite import
add 5eec67f3ed6 fix(datasets): repair mapping references after a metadata refresh
add 79d4889ad35 fix(datasets): carry the column-side mapping through a duplicate
add 14e6f88fa10 fix(datasource): restore the collection table's row-class and reveal props
add ee82b284dca perf(datasets): skip the partition probe during cache-key extraction
add f3f420867af fix(security): deny the schema_to_xml family and enforce the denylist on save
add 4bd05dfb031 docs(datasets): name the cache backend the probe guards need
add 1a409c2d2ae test(datasets): type the two new partition mapping test fixtures
add b5d6eed1460 fix(datasets): mirror a strict bound non-strictly (R5-04)
add cc477f8eea8 fix(datasets): reject a partition column the sync does not find (R5-02)
add a9206ea8281 fix(datasets): read a filter literal as the instant the engine compares
add e51236a6a7a fix(explore): stop the glyph promising a mirror the engine's resolution declines
add 0d95f26abaf fix(datasets): stop a column sync resetting flags it was not asked to change
add d6d2e96e81e fix(datasets): only claim mirroring once a probe has reported
add ca23dc96205 fix(datasets): refuse a transform whose result the partition column cannot hold
add 6a89d597a34 docs(datasets): add the indicator to the list of things the cache carries
add 2f0d53e1008 fix(explore): narrow the mapping where the glyph's gate already proves it
add 2beb4d10367 fix(security): deny the full-text functions that run their argument as a query
add 6dc33247e44 fix(datasource): stop an edit reopening a row the user collapsed
add 3f3f69851ac fix(datasets): drop a mirror the ranking subquery has no filter for
add 5daa6e6cfb7 fix(datasets): hold a text partition key to a text probe result
add abcd67add6d fix(datasets): decline a literal the engine reads more coarsely than we can
add 0c083ca9829 fix(security): stop a transform cancelling the placeholder-position gate
add 3f209e88144 fix(datasets): preview a filter the way the chart path mirrors it
add b7898490b47 chore: regenerate the message catalogs
add 589e2cf7c98 fix(explore): stop designating a partition column changing its flags
add 2534483f370 resolve conflicts
add 6e2ef0b42a7 Cursor/resolve pfm conflicts b2f7 (#45040)
add d77a43a443f fix: partition-filtering on pfm-6 (#45058)
add 3241e76a269 Update superset/migrations/versions/2026-09-23_00-01_a7f3c2e91d84_add_partition_filter_mapping.py
add 0d7cc3fa8c0 fix: pfm 8 merge and review (#45132)
add f891cb6ac1a fix(datasets): check the literal resolution of an unflagged DATE column
add d232028291b chore(datasets): name the migration's real parent in its docstring
add d875e43596d fix(datasets): decline an offset-bearing filter value on a full-resolution column
add 3ce9d664b38 fix(datasets): probe a numeric filter value in the column's number type
add 0ab8de13644 fix(datasets): say why preview withdraws text equality
add 0a49096169b fix(datasets): preview an array column with the literal the chart probes
add a7dbcfadc1b fix(datasets): preview a numeric temporal column in its stored representation
add 2635d4f0a2e fix(datasets): stop the partition column help claiming it hides the column
add 4f540ef8209 chore: regenerate the message catalogs
add 913568d7e09 fix(datasets): decline an array element the dialect cannot render
add ef7e74df70c fix(datasets): hold a mirror to the comparison the engine performs
add f17036dfbb4 test(datasets): freeze the clock the preview budget buckets on
add 93847ddcb3e fix(datasets): repair the mapping when an upload replaces a dataset's columns
add 7dacc862fca fix(datasource): merge a column sync against the state it comes back to
add 81e05a83b8d fix(datasource): show a mapping issue the owner can save through as a warning
add 278366192f4 fix(security): deny the Oracle functions that run their argument as a query
add 742c4be99b3 chore: regenerate the message catalogs
add c5314586d46 fix(datasets): rebase the migration onto master's current head
add 4d12722ad42 fix(datasets): let the engine say which text it reads as an instant
add 224e25c0d7f fix(security): refuse a transform that names something through a U& escape
add 3f74089894f fix(security): deny the Oracle function that reads a table by path string
add 9ddaba5343a fix(datasets): publish the preview's offset reason in the API spec
add 0b119629aae fix(explore): stop the glyph promising a mirror an offset declines
add 11de9daf439 fix(datasource): re-check the preview's identity after normalizing an error
add a48c48789db fix(datasets): repair the mapping on the legacy v0 import path too
add efc8b6d6c7e chore: regenerate the message catalogs
add 6e30b9d1e2a fix(security): refuse a transform that reads a sequence
add 99b94b62acf fix(security): redact the partition mapping from a dataset the caller cannot access
add 974aa4a3ddf fix(datasets): repair the mapping when a column is deleted on its own
add c0a89a1f088 chore: regenerate the message catalogs
add 96aa6f13bc0 fix(datasets): find a Jinja block without a quadratic regex
add 02c08e43090 chore: regenerate the message catalogs after the rebase
add 267a6ce2eff Update superset/config.py
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (e95d22bf2bc)
\
N -- N -- N refs/heads/hughhhh/pfm-6-explore-indicator (267a6ce2eff)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/workflows/chromatic.yml | 2 +-
.github/workflows/superset-e2e.yml | 4 +-
.github/workflows/superset-extensions-cli.yml | 2 +-
.github/workflows/superset-frontend.yml | 4 +-
.../workflows/superset-python-integrationtest.yml | 2 +-
.github/workflows/superset-python-unittest.yml | 4 +-
.github/workflows/superset-translations.yml | 2 +-
.github/workflows/testcontainers.yml | 2 +-
UPDATING.md | 65 +-
docs/admin_docs/configuration/feature-flags.mdx | 29 +
docs/admin_docs/configuration/mcp-server.mdx | 95 +-
docs/developer_docs/extensions/mcp.md | 19 +
docs/developer_docs/extensions/overview.md | 22 +-
.../creating-your-first-dashboard.mdx | 14 +
docs/docs/using-superset/exploring-data.mdx | 4 +
docs/docs/using-superset/number-formatting.mdx | 2 +-
docs/docs/using-superset/recently-archived.mdx | 12 +
.../using-superset/semantic-layer-connections.mdx | 47 +
.../using-superset/semantic-member-selections.mdx | 25 +-
docs/docs/using-superset/version-history.mdx | 20 +
docs/package.json | 4 +-
docs/static/resources/openapi.json | 835 +++++++++++++++-
docs/yarn.lock | 468 ++++-----
.../src/superset_core/semantic_layers/types.py | 143 ++-
.../src/superset_core/semantic_layers/view.py | 32 +
superset-frontend/jest.config.js | 5 +-
superset-frontend/package-lock.json | 499 +++++-----
superset-frontend/package.json | 10 +-
.../src/shared-controls/dndControls.tsx | 1 +
.../src/shared-controls/matrixifyControls.tsx | 1 +
.../src/connection/SupersetClientClass.ts | 31 +-
.../superset-ui-core/src/query/buildQueryObject.ts | 10 +-
.../superset-ui-core/src/query/processFilters.ts | 3 +
.../test/connection/SupersetClientClass.test.ts | 27 +
.../test/query/buildQueryObject.test.ts | 76 +-
.../ExploreCtasResultsButton.test.tsx | 11 +-
.../src/components/Chart/Chart.test.tsx | 26 +
.../DetailsPanel/DetailsPanel.test.tsx | 19 +
.../components/FiltersBadge/DetailsPanel/index.tsx | 22 +
.../components/FiltersBadge/FiltersBadge.test.tsx | 40 +
.../dashboard/components/FiltersBadge/index.tsx | 20 +-
.../RefreshFrequencySelect.test.tsx | 261 +++++
.../RefreshFrequency/RefreshFrequencySelect.tsx | 147 ++-
.../dashboard/components/RefreshFrequency/index.ts | 3 +
.../components/RefreshIntervalModal.test.tsx | 43 +
.../components/nativeFilters/selectors.test.ts | 71 ++
.../components/nativeFilters/selectors.ts | 8 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 160 ++++
.../components/ExploreChartHeader/index.tsx | 37 +-
.../src/explore/components/SaveModal.test.tsx | 55 ++
.../src/explore/components/SaveModal.tsx | 15 +-
.../DndAdhocFilterOption.tsx | 3 +
.../DndFilterSelect.test.tsx | 76 +-
.../DndColumnSelectControl/DndFilterSelect.tsx | 6 +
.../FilterControl/AdhocFilterControl/index.tsx | 15 +-
.../FilterControl/AdhocFilterEditPopover/index.tsx | 3 +
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 106 +++
.../index.tsx | 24 +-
.../FilterControl/AdhocFilterOption/index.tsx | 3 +
.../AdhocFilterPopoverTrigger/index.tsx | 3 +
.../controls/MatrixifyDimensionControl.test.tsx | 72 +-
.../controls/MatrixifyDimensionControl.tsx | 25 +-
superset-frontend/src/explore/controls.tsx | 8 +-
.../src/explore/exploreUtils/index.ts | 7 +-
.../src/explore/reducers/exploreReducer.test.ts | 26 +
.../src/explore/reducers/exploreReducer.ts | 15 +-
.../semanticLayers/SemanticLayerModal.test.tsx | 410 +++++++-
.../features/semanticLayers/SemanticLayerModal.tsx | 97 +-
.../semanticLayers/jsonFormsAntdRenderers.test.tsx | 260 +++++
.../features/semanticLayers/jsonFormsHelpers.tsx | 125 ++-
superset-frontend/src/types/Chart.ts | 1 +
superset-websocket/package-lock.json | 320 +++----
superset-websocket/package.json | 4 +-
superset/charts/api.py | 12 +-
superset/charts/data/api.py | 7 +
superset/commands/chart/update.py | 10 +
superset/commands/chart/utils.py | 9 +
superset/commands/chart/warm_up_cache.py | 26 +-
superset/commands/dashboard/exceptions.py | 4 +
superset/commands/dashboard/restore.py | 132 +++
superset/commands/dashboard/update.py | 55 +-
superset/commands/restore.py | 7 +-
superset/common/query_context_processor.py | 5 +-
superset/common/query_object.py | 13 +
superset/connectors/sqla/models.py | 4 +-
superset/daos/chart.py | 7 +-
superset/daos/dashboard.py | 310 +++++-
superset/daos/datasource.py | 10 +
superset/dashboards/api.py | 14 +
superset/datasource/api.py | 48 +-
superset/explore/api.py | 5 +
superset/explore/form_data/api.py | 9 +-
superset/explore/permalink/api.py | 5 +-
superset/explore/utils.py | 6 +
superset/initialization/__init__.py | 13 +-
superset/mcp_service/chart/chart_helpers.py | 12 +-
superset/mcp_service/chart/chart_utils.py | 95 +-
superset/mcp_service/chart/compile.py | 11 +-
superset/mcp_service/chart/datasource_resolver.py | 412 ++++++++
superset/mcp_service/chart/plugin.py | 17 +
superset/mcp_service/chart/plugins/big_number.py | 67 +-
.../mcp_service/chart/plugins/mixed_timeseries.py | 15 +
superset/mcp_service/chart/plugins/table.py | 20 +
superset/mcp_service/chart/plugins/waterfall.py | 15 +
superset/mcp_service/chart/plugins/xy.py | 55 +-
superset/mcp_service/chart/preview_utils.py | 33 +-
superset/mcp_service/chart/schemas.py | 162 +++-
superset/mcp_service/chart/tool/generate_chart.py | 173 +++-
superset/mcp_service/chart/tool/get_chart_data.py | 13 +
.../mcp_service/chart/tool/get_chart_preview.py | 51 +-
superset/mcp_service/chart/tool/list_charts.py | 4 +-
superset/mcp_service/chart/tool/update_chart.py | 502 ++++++++--
superset/mcp_service/chart/validation/pipeline.py | 12 +
superset/mcp_service/dashboard/schemas.py | 5 +
.../dashboard/tool/duplicate_dashboard.py | 16 +-
.../dashboard/tool/restore_dashboard.py | 14 +-
superset/mcp_service/dataset_scope.py | 146 ++-
.../explore/tool/generate_explore_link.py | 151 ++-
superset/mcp_service/mcp_config.py | 37 +-
.../tool/get_compatible_dimensions.py | 18 +
.../semantic_layer/tool/get_compatible_metrics.py | 18 +
.../mcp_service/semantic_layer/tool/get_table.py | 10 +
.../semantic_layer/tool/list_metrics.py | 13 +-
superset/mcp_service/server.py | 85 +-
superset/models/dashboard.py | 6 +
superset/semantic_layers/access.py | 50 +
superset/semantic_layers/api.py | 34 +-
superset/semantic_layers/labels.py | 7 +-
superset/semantic_layers/mapper.py | 81 +-
superset/semantic_layers/members.py | 52 +
superset/translations/ar/LC_MESSAGES/messages.po | 31 +-
superset/translations/ca/LC_MESSAGES/messages.po | 31 +-
superset/translations/cs/LC_MESSAGES/messages.po | 31 +-
superset/translations/de/LC_MESSAGES/messages.po | 31 +-
superset/translations/en/LC_MESSAGES/messages.po | 31 +-
superset/translations/es/LC_MESSAGES/messages.po | 31 +-
superset/translations/fa/LC_MESSAGES/messages.po | 31 +-
superset/translations/fi/LC_MESSAGES/messages.po | 31 +-
superset/translations/fr/LC_MESSAGES/messages.po | 33 +-
superset/translations/it/LC_MESSAGES/messages.po | 31 +-
superset/translations/ja/LC_MESSAGES/messages.po | 31 +-
superset/translations/ko/LC_MESSAGES/messages.po | 32 +-
superset/translations/lv/LC_MESSAGES/messages.po | 31 +-
superset/translations/messages.pot | 27 +-
superset/translations/mi/LC_MESSAGES/messages.po | 31 +-
superset/translations/nl/LC_MESSAGES/messages.po | 31 +-
superset/translations/pl/LC_MESSAGES/messages.po | 32 +-
superset/translations/pt/LC_MESSAGES/messages.po | 31 +-
.../translations/pt_BR/LC_MESSAGES/messages.po | 31 +-
superset/translations/ro/LC_MESSAGES/messages.po | 34 +-
superset/translations/ru/LC_MESSAGES/messages.po | 32 +-
superset/translations/sk/LC_MESSAGES/messages.po | 31 +-
superset/translations/sl/LC_MESSAGES/messages.po | 31 +-
superset/translations/sr/LC_MESSAGES/messages.po | 31 +-
.../translations/sr_Latn/LC_MESSAGES/messages.po | 31 +-
superset/translations/ta/LC_MESSAGES/messages.po | 31 +-
superset/translations/th/LC_MESSAGES/messages.po | 31 +-
superset/translations/tr/LC_MESSAGES/messages.po | 34 +-
superset/translations/uk/LC_MESSAGES/messages.po | 31 +-
superset/translations/zh/LC_MESSAGES/messages.po | 31 +-
.../translations/zh_TW/LC_MESSAGES/messages.po | 31 +-
superset/utils/core.py | 4 +
superset/utils/network.py | 23 +-
superset/views/core.py | 2 +-
superset/views/datasource/views.py | 176 +++-
superset/views/filters.py | 5 +-
tests/integration_tests/charts/api_tests.py | 2 +
.../charts/semantic_metadata_authz_tests.py | 13 +-
.../charts/semantic_save_tests.py | 46 +
tests/integration_tests/dashboards/api_tests.py | 440 ++++++++-
tests/integration_tests/dashboards/dao_tests.py | 120 ++-
tests/integration_tests/datasource/api_tests.py | 36 +-
.../semantic_layers/api_flag_test.py | 423 ++++++++
tests/unit_tests/commands/chart/create_test.py | 2 +
.../commands/chart/test_warm_up_cache.py | 135 +++
tests/unit_tests/commands/chart/update_test.py | 2 +
.../dashboard/restore_semantic_filters_test.py | 363 +++++++
.../unit_tests/commands/dashboard/restore_test.py | 3 +
tests/unit_tests/conftest.py | 17 +
tests/unit_tests/dao/dashboard_test.py | 551 ++++++++++-
.../dao/test_copy_dashboard_legacy_ids.py | 213 +++++
tests/unit_tests/daos/test_chart_dao.py | 59 ++
tests/unit_tests/dashboards/datasets_test.py | 2 +
tests/unit_tests/explore/utils_test.py | 2 +
.../mcp_service/chart/test_chart_helpers.py | 68 +-
.../mcp_service/chart/test_chart_target_schemas.py | 213 +++++
.../mcp_service/chart/test_chart_utils.py | 32 +
.../chart/test_dashboard_time_binding.py | 90 ++
.../mcp_service/chart/test_datasource_resolver.py | 622 ++++++++++++
.../mcp_service/chart/test_gantt_chart.py | 35 +
.../chart/test_live_chart_datasource.py | 2 +
...ative_form_data_and_dataset_rebind_contracts.py | 4 +-
.../mcp_service/chart/test_response_preflight.py | 4 +-
.../tool/test_generate_chart_semantic_view.py | 412 ++++++++
.../mcp_service/chart/tool/test_get_chart_data.py | 53 +-
.../chart/tool/test_get_chart_preview.py | 7 +-
.../mcp_service/chart/tool/test_get_chart_sql.py | 6 +-
.../mcp_service/chart/tool/test_list_charts.py | 148 +++
.../chart/tool/test_saved_chart_datasource.py | 24 +-
.../mcp_service/chart/tool/test_update_chart.py | 358 ++++++-
.../chart/tool/test_update_chart_rebind.py | 1006 ++++++++++++++++++++
.../dashboard/tool/test_duplicate_dashboard.py | 59 +-
.../dashboard/tool/test_get_dashboard_datasets.py | 2 +
.../dashboard/tool/test_restore_dashboard.py | 3 +
.../test_generate_explore_link_semantic_view.py | 245 +++++
.../mcp_service/native_tool_inventory.json | 34 +-
.../mcp_service/semantic_layer/test_flag_off.py | 203 ++++
.../tool/test_get_compatible_dimensions.py | 5 +
.../tool/test_get_compatible_metrics.py | 4 +
.../semantic_layer/tool/test_get_table.py | 21 +
.../semantic_layer/tool/test_list_metrics.py | 7 +
.../mcp_service/system/tool/test_get_schema.py | 11 +
.../mcp_service/test_chart_tool_inventory.py | 42 +-
tests/unit_tests/mcp_service/test_dataset_scope.py | 247 ++++-
.../unit_tests/mcp_service/test_tool_inventory.py | 6 +-
.../mcp_service/test_tool_search_transform.py | 225 ++++-
.../mcp_service/test_validation_contract.py | 46 +
.../semantic_layers/import_export_test.py | 22 +
tests/unit_tests/semantic_layers/labels_test.py | 13 +
tests/unit_tests/semantic_layers/mapper_test.py | 38 +-
tests/unit_tests/semantic_layers/members_test.py | 83 ++
.../semantic_layers/metric_filter_test.py | 288 ++++++
tests/unit_tests/semantic_layers/test_access.py | 42 +
.../semantic_layers/test_runtime_flag.py | 216 +++++
.../semantic_layers/values_endpoint_test.py | 100 ++
.../soft_delete/test_restore_purge_hoist.py | 13 +
tests/unit_tests/tasks/test_async_queries.py | 31 +
tests/unit_tests/utils/test_network.py | 29 +
tests/unit_tests/views/datasource/views_test.py | 559 +++++++----
229 files changed, 15922 insertions(+), 1554 deletions(-)
create mode 100644 docs/docs/using-superset/semantic-layer-connections.mdx
create mode 100644 superset/mcp_service/chart/datasource_resolver.py
create mode 100644 superset/semantic_layers/access.py
create mode 100644 superset/semantic_layers/members.py
create mode 100644 tests/integration_tests/semantic_layers/api_flag_test.py
create mode 100644 tests/unit_tests/commands/chart/test_warm_up_cache.py
create mode 100644 tests/unit_tests/commands/dashboard/restore_semantic_filters_test.py
create mode 100644 tests/unit_tests/dao/test_copy_dashboard_legacy_ids.py
create mode 100644 tests/unit_tests/daos/test_chart_dao.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_target_schemas.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_datasource_resolver.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_generate_chart_semantic_view.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_update_chart_rebind.py
create mode 100644 tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link_semantic_view.py
create mode 100644 tests/unit_tests/mcp_service/semantic_layer/test_flag_off.py
create mode 100644 tests/unit_tests/semantic_layers/members_test.py
create mode 100644 tests/unit_tests/semantic_layers/metric_filter_test.py
create mode 100644 tests/unit_tests/semantic_layers/test_access.py
create mode 100644 tests/unit_tests/semantic_layers/test_runtime_flag.py