Skip to content

Commit d324c98

Browse files
authored
Merge branch 'master' into fix-group-by-display-control-spinner-muted
2 parents c6f9d0b + fe06ebe commit d324c98

22 files changed

Lines changed: 440 additions & 102 deletions

File tree

.github/workflows/generate-FOSSA-report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
persist-credentials: false
3838
submodules: recursive
3939
- name: Setup Java
40-
uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
40+
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
4141
with:
4242
distribution: "temurin"
4343
java-version: "11"

.github/workflows/license-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
persist-credentials: false
2424
submodules: recursive
2525
- name: Setup Java
26-
uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
26+
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
2727
with:
2828
distribution: "temurin"
2929
java-version: "11"

.github/workflows/superset-docs-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
node-version-file: "./docs/.nvmrc"
7777
- name: Setup Python
7878
uses: ./.github/actions/setup-backend/
79-
- uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
79+
- uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
8080
with:
8181
distribution: "zulu"
8282
java-version: "21"

UPDATING.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,33 @@ One caveat on turning soft delete back off: objects archived while it was on are
5252
**resurrected** into normal listings, since the rows were never removed — an
5353
emergency stop rather than a clean rollback.
5454

55+
### Version history is on by default
56+
57+
`VERSION_HISTORY` and `ENABLE_VERSIONING_CAPTURE` now both ship **on**. Every
58+
save of a chart, dashboard, or dataset writes version rows, and the version
59+
history panel appears on Explore and Dashboard pages. The two flip together
60+
deliberately: a panel with capture off renders an empty "No history yet" that
61+
misrepresents the entity as unchanged.
62+
63+
**What operators should expect:**
64+
65+
- **Storage growth.** Capture writes shadow rows per save, so the metadata
66+
database grows with edit volume. The `version_history.prune_old_versions`
67+
beat task removes rows whose transaction is older than
68+
`SUPERSET_VERSION_HISTORY_RETENTION_DAYS` (default 30). A deployment that
69+
replaces `CELERY_CONFIG` rather than inheriting it must carry both the
70+
`superset.tasks.version_history_retention` import and the beat entry; a
71+
startup warning names whichever is absent.
72+
- **`PUT` responses change shape.** Entity updates now return populated
73+
`old_version_uuid` / `new_version_uuid` fields and an `ETag` header, which
74+
were null or absent while capture was off.
75+
76+
`ENABLE_VERSIONING_CAPTURE` is **retained permanently** as an operational
77+
kill-switch — not removed with the rollout toggles. Setting it to a falsy value
78+
stops capture within a restart, without a revert-and-redeploy. Unlike the
79+
soft-delete toggle, turning it off is a clean stop: existing version rows remain
80+
readable and no entity state is altered.
81+
5582
### Scheduled report execution now enforces one application deadline
5683

5784
Scheduled report (not alert) executions are now governed by a single
@@ -481,7 +508,7 @@ Entity version history (the `version_transaction` / `*_version` shadow tables th
481508
|---|---|---|
482509
| `SUPERSET_VERSION_HISTORY_RETENTION_DAYS` | `30` | Version rows whose owning `version_transaction.issued_at` is older than this many days are pruned. Each entity's live row (`end_transaction_id IS NULL`) is always preserved, as are the live rows of its children and associations; closed historical rows (including the baseline) age out. Set to `0` or a negative value to disable pruning. |
483510

484-
The task ships in the default `CeleryConfig` (both the `superset.tasks.version_history_retention` import and the beat entry). A deployment that overrides `CELERY_CONFIG` without the beat entry logs a startup warning. When the override explicitly defines `imports`, a missing retention module is also reported; an absent `imports` setting is not diagnosed because Celery may register tasks through `include`, autodiscovery, or worker startup imports. Retention only prunes whatever history exists — capture itself is gated separately by `ENABLE_VERSIONING_CAPTURE` (ships off).
511+
The task ships in the default `CeleryConfig` (both the `superset.tasks.version_history_retention` import and the beat entry). A deployment that overrides `CELERY_CONFIG` without the beat entry logs a startup warning. When the override explicitly defines `imports`, a missing retention module is also reported; an absent `imports` setting is not diagnosed because Celery may register tasks through `include`, autodiscovery, or worker startup imports. Retention only prunes whatever history exists — capture itself is gated separately by `ENABLE_VERSIONING_CAPTURE`, which now ships on.
485512

486513
### Deletion retention (soft-deleted entities are eventually purged)
487514

docs/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@
6262
"@superset-ui/core": "^0.20.4",
6363
"@swc/core": "^1.15.47",
6464
"antd": "^6.5.2",
65-
"baseline-browser-mapping": "^2.11.7",
65+
"baseline-browser-mapping": "^2.11.8",
6666
"caniuse-lite": "^1.0.30001806",
67-
"docusaurus-plugin-openapi-docs": "^5.1.2",
68-
"docusaurus-theme-openapi-docs": "^5.1.2",
67+
"docusaurus-plugin-openapi-docs": "^5.1.3",
68+
"docusaurus-theme-openapi-docs": "^5.1.3",
6969
"js-yaml": "^5.2.2",
7070
"json-bigint": "^1.0.0",
7171
"prism-react-renderer": "^2.4.1",

docs/static/feature-flags.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@
107107
},
108108
{
109109
"name": "VERSION_HISTORY",
110-
"default": false,
110+
"default": true,
111111
"lifecycle": "development",
112-
"description": "Enables the version history panel on Explore and Dashboard pages. History only accrues while ``ENABLE_VERSIONING_CAPTURE`` is also on; with capture off the panel renders but stays empty."
112+
"description": "Enables the version history panel on Explore and Dashboard pages. History only accrues while ``ENABLE_VERSIONING_CAPTURE`` is also on; with capture off the panel renders but stays empty, so the two ship with matching defaults and should be changed together."
113113
}
114114
],
115115
"testing": [

docs/yarn.lock

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6453,10 +6453,10 @@ base64-js@^1.3.1, base64-js@^1.5.1:
64536453
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
64546454
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
64556455

6456-
baseline-browser-mapping@^2.10.38, baseline-browser-mapping@^2.11.7, baseline-browser-mapping@^2.9.19:
6457-
version "2.11.7"
6458-
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.7.tgz#65b41243f29d2cca7b5d72ca6e9b8285df1ed975"
6459-
integrity sha512-APw5YuIQAg6L9w4sHDI6j26DGFJI6RpYOhnkMPdC9lWbkKvsyPHzDsve1yd73lk21yz7Y09Kci8B2Pp9FonzWA==
6456+
baseline-browser-mapping@^2.10.38, baseline-browser-mapping@^2.11.8, baseline-browser-mapping@^2.9.19:
6457+
version "2.11.8"
6458+
resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.8.tgz#42eb5ffc99fd89ca8bf30e31557b487063eec86f"
6459+
integrity sha512-zAgkquC2WYF0PIc6XbNYkA2uuxxFavzgmX61R+dHDUa558V8Ejf8ozTZFR6QzM24RWu4kBcRkhJ5kpz77j9fnQ==
64606460

64616461
batch@0.6.1:
64626462
version "0.6.1"
@@ -7938,10 +7938,10 @@ doctrine@^2.1.0:
79387938
dependencies:
79397939
esutils "^2.0.2"
79407940

7941-
docusaurus-plugin-openapi-docs@^5.1.2:
7942-
version "5.1.2"
7943-
resolved "https://registry.yarnpkg.com/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-5.1.2.tgz#1ef66a26d80e2a3baf4caae4e72a0dcf85c6d608"
7944-
integrity sha512-xlgl/8+2iqSQWdhTJay0lfXqWduaGVTYrn+9i+uT3Uk5gkeDjfQOIVnHGnIHfKg0pUjIm008fvEQVAxk3TvgaQ==
7941+
docusaurus-plugin-openapi-docs@^5.1.3:
7942+
version "5.1.3"
7943+
resolved "https://registry.yarnpkg.com/docusaurus-plugin-openapi-docs/-/docusaurus-plugin-openapi-docs-5.1.3.tgz#b8cd5f8451aaf881deb1a744a8295685f1681865"
7944+
integrity sha512-HnpblSBdXoR39VNTIW9zWERUsMJxXOpvdQoBKyaTkUBPwCM48Z76+ndo2yO2vADq+EhWjJlfxL1DUzCrgNjThQ==
79457945
dependencies:
79467946
"@apidevtools/json-schema-ref-parser" "^15.3.3"
79477947
"@redocly/openapi-core" "^2.25.2"
@@ -7959,10 +7959,10 @@ docusaurus-plugin-openapi-docs@^5.1.2:
79597959
swagger2openapi "^7.0.8"
79607960
xml-formatter "^3.6.6"
79617961

7962-
docusaurus-theme-openapi-docs@^5.1.2:
7963-
version "5.1.2"
7964-
resolved "https://registry.yarnpkg.com/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-5.1.2.tgz#8591e3be971920c5eb347b9aab4bac77db5c7c31"
7965-
integrity sha512-uJx+a4qHmpOnl+e7YzsPJSga6d6TLGEVZZPtI7KkzC/PgG7bS8E4P8hknvWqmAEahxhLWEb8izIA3up/0g9RwA==
7962+
docusaurus-theme-openapi-docs@^5.1.3:
7963+
version "5.1.3"
7964+
resolved "https://registry.yarnpkg.com/docusaurus-theme-openapi-docs/-/docusaurus-theme-openapi-docs-5.1.3.tgz#e23644a63785352abbc76e42760c0dfdff3669e1"
7965+
integrity sha512-npbD1QahtjAEmrOet/86i5fTmcJX4/rPhVT+c0qKjm7StUNbyqjwchSVBQuU1rB69T51JOA9TpT/y6QcB9Xjvw==
79667966
dependencies:
79677967
"@hookform/error-message" "^2.0.1"
79687968
"@reduxjs/toolkit" "^2.8.2"
@@ -7973,7 +7973,7 @@ docusaurus-theme-openapi-docs@^5.1.2:
79737973
crypto-js "^4.2.0"
79747974
file-saver "^2.0.5"
79757975
lodash "^4.17.21"
7976-
pako "^2.1.0"
7976+
pako "^3.0.1"
79777977
path-browserify "^1.0.1"
79787978
postman-code-generators "^2.0.0"
79797979
postman-collection "^5.0.2"
@@ -7988,7 +7988,7 @@ docusaurus-theme-openapi-docs@^5.1.2:
79887988
rehype-raw "^7.0.0"
79897989
remark-gfm "4.0.1"
79907990
sass "^1.89.2"
7991-
sass-loader "^16.0.5"
7991+
sass-loader "^17.0.0"
79927992
unist-util-visit "^5.0.0"
79937993
url "^0.11.4"
79947994
xml-formatter "^3.6.6"
@@ -12290,10 +12290,10 @@ package-manager-detector@^1.3.0:
1229012290
resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-1.7.0.tgz#0a6d6d3856627b8ac9331f95fc891ea81247aafd"
1229112291
integrity sha512-xg1eHpwYL/D/HEdWw2goFZP6vV0FH7W+PZ5rFkGjdIDLtxq7EkzBUeT3m+lndYCt8wKbmofUu1MUdMCXkCk9ZQ==
1229212292

12293-
pako@^2.1.0:
12294-
version "2.2.0"
12295-
resolved "https://registry.yarnpkg.com/pako/-/pako-2.2.0.tgz#246b9d4c841a8d308e484c0d03786651b143e63a"
12296-
integrity sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==
12293+
pako@^3.0.1:
12294+
version "3.0.1"
12295+
resolved "https://registry.yarnpkg.com/pako/-/pako-3.0.1.tgz#3156f8fa86e3cc2ae5a36369475b14d4f05696ce"
12296+
integrity sha512-GupotUUI0mlhugKjUs4bjOwLt3nrehy9Ys2dxC0GtgVef5cnKggkDMmf2bq2poCCuVXopWPmqsc9VDT2iJUy+w==
1229712297

1229812298
param-case@^3.0.4:
1229912299
version "3.0.4"
@@ -14182,12 +14182,10 @@ safe-regex-test@^1.1.0:
1418214182
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1418314183
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1418414184

14185-
sass-loader@^16.0.5:
14186-
version "16.0.8"
14187-
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.8.tgz#b7eef3b7947b32e2988dd760a2f7f0d547838e6b"
14188-
integrity sha512-hcov4ZwZJIGbEuyNr9EmiTmZueyrxSToE6GOzoZnq5JM7ecRO7ttyvilPn+VmRsqiP16+VYZzVnGZj/hzZgKBA==
14189-
dependencies:
14190-
neo-async "^2.6.2"
14185+
sass-loader@^17.0.0:
14186+
version "17.0.0"
14187+
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-17.0.0.tgz#8f4f8864d834c1abb18f0f3d2bc653bbf29dde2a"
14188+
integrity sha512-0Ybm8ohBQ9LcrycVrFQp/KQBNX5a3Wda9/smS0mE/xLffzEnwvV8nykOzrbiSWNzTE3IB/jiXx8O4QmDPG2+Gw==
1419114189

1419214190
sass@^1.89.2:
1419314191
version "1.101.0"

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ dependencies = [
131131

132132
[project.optional-dependencies]
133133

134-
athena = ["pyathena[pandas]>=3.35.2, <4"]
134+
athena = ["pyathena[pandas]>=3.35.4, <4"]
135135
# No SQLAlchemy 2.0 support anywhere in this dialect's ecosystem today: our
136136
# own preset-io/sqlalchemy-aurora-data-api fork is dead since 2021, and the
137137
# more active community fork (cloud-utils/sqlalchemy-aurora-data-api) has an

superset-frontend/package-lock.json

Lines changed: 12 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

superset-frontend/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
"lodash": "^4.18.1",
187187
"lodash-es": "^4.18.1",
188188
"mapbox-gl": "^3.27.0",
189-
"markdown-to-jsx": "^9.9.0",
189+
"markdown-to-jsx": "^9.10.1",
190190
"match-sorter": "^8.3.0",
191191
"memoize-one": "^6.0.0",
192192
"mousetrap": "^1.6.5",
@@ -296,7 +296,7 @@
296296
"babel-loader": "^10.1.1",
297297
"babel-plugin-dynamic-import-node": "^2.3.3",
298298
"babel-plugin-jsx-remove-data-test-id": "^3.0.0",
299-
"baseline-browser-mapping": "^2.11.7",
299+
"baseline-browser-mapping": "^2.11.8",
300300
"cheerio": "1.2.0",
301301
"concurrently": "^10.0.4",
302302
"copy-webpack-plugin": "^14.0.0",
@@ -308,7 +308,7 @@
308308
"eslint-plugin-i18n-strings": "file:eslint-rules/eslint-plugin-i18n-strings",
309309
"eslint-plugin-icons": "file:eslint-rules/eslint-plugin-icons",
310310
"eslint-plugin-import": "^2.32.0",
311-
"eslint-plugin-jest-dom": "^5.6.0",
311+
"eslint-plugin-jest-dom": "^5.7.0",
312312
"eslint-plugin-lodash": "^8.0.0",
313313
"eslint-plugin-no-only-tests": "^3.4.0",
314314
"eslint-plugin-react-prefer-function-component": "^5.0.0",

0 commit comments

Comments
 (0)