You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: UPDATING.md
+28-1Lines changed: 28 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,6 +52,33 @@ One caveat on turning soft delete back off: objects archived while it was on are
52
52
**resurrected** into normal listings, since the rows were never removed — an
53
53
emergency stop rather than a clean rollback.
54
54
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
+
55
82
### Scheduled report execution now enforces one application deadline
56
83
57
84
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
481
508
|---|---|---|
482
509
|`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. |
483
510
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.
485
512
486
513
### Deletion retention (soft-deleted entities are eventually purged)
Copy file name to clipboardExpand all lines: docs/static/feature-flags.json
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -107,9 +107,9 @@
107
107
},
108
108
{
109
109
"name": "VERSION_HISTORY",
110
-
"default": false,
110
+
"default": true,
111
111
"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."
0 commit comments