Files
grafana/pkg/services/featuremgmt/toggles_gen.csv
T
Sonia Aguilar 2014d27def Alerting: Add alert rule version history - part1 (#99490)
* Add alertingRuleVersionHistory feature toggle

* WIP: Add version history tab

* revert temp change in index.ts

* wip2

* --wip--

* sync code with the BE changes in the endpoint

* add translations

* Add translations

* use ff only for restore feature

* WIP: Add tracking, make version required, and start mapping dif results
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>

* Tweak more translations and improve types

* Add button to show/hide JSON diff

* update type for top level rule fields

* Create types

* Make updated_by/version properties optional

* Update mocks to remove updated by and version

* add comments to restore code

* rename fetature flag, as we use this one only for the restore feature

* Update version history to handle special cases

* Add diff numbers

* Fix conflicts

* Move generic computeVersionDiff to a utils file

* Update DOM structure of version summary and tidy up types

* Add tests for version comparison logic

* Lint fix utils file

* Rename props and add docs

* Change to EmptyState and log when no versions

* Remove CreatedBy component and simplify

* Add missing i18n for version history

* add test for computeVersionDiff

* update test

* fix number diff order and add a test

* fix prettier

* fix prettier

* Add promise resolve back in

* Rename to humanReadableDiff and tweak translation

* Show tab for recording rules as well

* Split components out to separate files

* Add optional interval seconds

* Update i18n

* Remove commented code

* Remove value

* Remove unneeded version

* Consistent rendering of updated by

* Mode parseVersionInfo to a separate pure function

* update invalidate/provide tags for getAlertVersionHistory

* Use checkedVersions state only in the parent component

* update getSpecialUidMap name and create an interface

* Fix prettier

* update tab description

* use set instead of map for checkedVersions

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-02-17 13:25:32 +01:00

19 KiB

1NameStageOwnerrequiresDevModeRequiresRestartFrontendOnly
2disableEnvelopeEncryptionGA@grafana/grafana-as-codefalsefalsefalse
3live-service-web-workerexperimental@grafana/dashboards-squadfalsefalsetrue
4queryOverLiveexperimental@grafana/dashboards-squadfalsefalsetrue
5panelTitleSearchpreview@grafana/search-and-storagefalsefalsefalse
6publicDashboardsEmailSharingpreview@grafana/sharing-squadfalsefalsefalse
7publicDashboardsSceneGA@grafana/sharing-squadfalsefalsetrue
8lokiExperimentalStreamingexperimental@grafana/observability-logsfalsefalsefalse
9featureHighlightsGA@grafana/grafana-as-codefalsefalsefalse
10storageexperimental@grafana/search-and-storagefalsefalsefalse
11correlationsGA@grafana/dataviz-squadfalsefalsefalse
12autoMigrateOldPanelspreview@grafana/dataviz-squadfalsefalsetrue
13autoMigrateGraphPanelpreview@grafana/dataviz-squadfalsefalsetrue
14autoMigrateTablePanelpreview@grafana/dataviz-squadfalsefalsetrue
15autoMigratePiechartPanelpreview@grafana/dataviz-squadfalsefalsetrue
16autoMigrateWorldmapPanelpreview@grafana/dataviz-squadfalsefalsetrue
17autoMigrateStatPanelpreview@grafana/dataviz-squadfalsefalsetrue
18disableAngularpreview@grafana/dataviz-squadfalsefalsetrue
19canvasPanelNestingexperimental@grafana/dataviz-squadfalsefalsetrue
20vizActionsexperimental@grafana/dataviz-squadfalsefalsetrue
21disableSecretsCompatibilityexperimental@grafana/hosted-grafana-teamfalsetruefalse
22logRequestsInstrumentedAsUnknownexperimental@grafana/hosted-grafana-teamfalsefalsefalse
23grpcServerpreview@grafana/search-and-storagefalsefalsefalse
24cloudWatchCrossAccountQueryingGA@grafana/aws-datasourcesfalsefalsefalse
25showDashboardValidationWarningsexperimental@grafana/dashboards-squadfalsefalsefalse
26mysqlAnsiQuotesexperimental@grafana/search-and-storagefalsefalsefalse
27accessControlOnCallGA@grafana/identity-access-teamfalsefalsefalse
28nestedFoldersGA@grafana/search-and-storagefalsefalsefalse
29alertingBacktestingexperimental@grafana/alerting-squadfalsefalsefalse
30editPanelCSVDragAndDropexperimental@grafana/dataviz-squadfalsefalsetrue
31logsContextDatasourceUiGA@grafana/observability-logsfalsefalsetrue
32lokiShardSplittingexperimental@grafana/observability-logsfalsefalsetrue
33lokiQuerySplittingGA@grafana/observability-logsfalsefalsetrue
34lokiQuerySplittingConfigexperimental@grafana/observability-logsfalsefalsetrue
35individualCookiePreferencesexperimental@grafana/grafana-backend-groupfalsefalsefalse
36influxdbBackendMigrationGA@grafana/partner-datasourcesfalsefalsetrue
37influxqlStreamingParserexperimental@grafana/partner-datasourcesfalsefalsefalse
38influxdbRunQueriesInParallelprivatePreview@grafana/partner-datasourcesfalsefalsefalse
39prometheusRunQueriesInParallelprivatePreview@grafana/oss-big-tentfalsefalsefalse
40lokiLogsDataplaneexperimental@grafana/observability-logsfalsefalsefalse
41dataplaneFrontendFallbackGA@grafana/observability-metricsfalsefalsetrue
42disableSSEDataplaneexperimental@grafana/observability-metricsfalsefalsefalse
43alertStateHistoryLokiSecondaryexperimental@grafana/alerting-squadfalsefalsefalse
44alertStateHistoryLokiPrimaryexperimental@grafana/alerting-squadfalsefalsefalse
45alertStateHistoryLokiOnlyexperimental@grafana/alerting-squadfalsefalsefalse
46unifiedRequestLogGA@grafana/grafana-backend-groupfalsefalsefalse
47renderAuthJWTpreview@grafana/grafana-as-codefalsefalsefalse
48refactorVariablesTimeRangepreview@grafana/dashboards-squadfalsefalsefalse
49faroDatasourceSelectorpreview@grafana/app-o11yfalsefalsetrue
50enableDatagridEditingpreview@grafana/dataviz-squadfalsefalsetrue
51extraThemesexperimental@grafana/grafana-frontend-platformfalsefalsetrue
52lokiPredefinedOperationsexperimental@grafana/observability-logsfalsefalsetrue
53pluginsFrontendSandboxprivatePreview@grafana/plugins-platform-backendfalsefalsefalse
54frontendSandboxMonitorOnlyexperimental@grafana/plugins-platform-backendfalsefalsetrue
55pluginsDetailsRightPanelexperimental@grafana/plugins-platform-backendfalsefalsetrue
56sqlDatasourceDatabaseSelectionpreview@grafana/dataviz-squadfalsefalsetrue
57recordedQueriesMultiGA@grafana/observability-metricsfalsefalsefalse
58logsExploreTableVisualisationGA@grafana/observability-logsfalsefalsetrue
59awsDatasourcesTempCredentialsexperimental@grafana/aws-datasourcesfalsefalsefalse
60transformationsRedesignGA@grafana/observability-metricsfalsefalsetrue
61mlExpressionsexperimental@grafana/alerting-squadfalsefalsefalse
62traceQLStreamingGA@grafana/observability-traces-and-profilingfalsefalsetrue
63metricsSummaryexperimental@grafana/observability-traces-and-profilingfalsefalsetrue
64datasourceAPIServersexperimental@grafana/grafana-app-platform-squadfalsetruefalse
65grafanaAPIServerWithExperimentalAPIsexperimental@grafana/grafana-app-platform-squadtruetruefalse
66provisioningexperimental@grafana/grafana-app-platform-squadfalsetruefalse
67grafanaAPIServerEnsureKubectlAccessexperimental@grafana/grafana-app-platform-squadtruetruefalse
68featureToggleAdminPageexperimental@grafana/grafana-operator-experience-squadfalsetruefalse
69awsAsyncQueryCachingGA@grafana/aws-datasourcesfalsefalsefalse
70permissionsFilterRemoveSubqueryexperimental@grafana/grafana-backend-groupfalsefalsefalse
71configurableSchedulerTickexperimental@grafana/alerting-squadfalsetruefalse
72alertingNoDataErrorExecutionGA@grafana/alerting-squadfalsetruefalse
73angularDeprecationUIGA@grafana/plugins-platform-backendfalsefalsetrue
74dashgptGA@grafana/dashboards-squadfalsefalsetrue
75aiGeneratedDashboardChangesexperimental@grafana/dashboards-squadfalsefalsetrue
76reportingRetriespreview@grafana/sharing-squadfalsetruefalse
77sseGroupByDatasourceexperimental@grafana/observability-metricsfalsefalsefalse
78libraryPanelRBACexperimental@grafana/dashboards-squadfalsetruefalse
79lokiRunQueriesInParallelprivatePreview@grafana/observability-logsfalsefalsefalse
80wargamesTestingexperimental@grafana/hosted-grafana-teamfalsefalsefalse
81alertingInsightsGA@grafana/alerting-squadfalsefalsetrue
82externalCorePluginsexperimental@grafana/plugins-platform-backendfalsefalsefalse
83pluginsAPIMetricsexperimental@grafana/plugins-platform-backendfalsefalsetrue
84externalServiceAccountspreview@grafana/identity-access-teamfalsefalsefalse
85panelMonitoringGA@grafana/dataviz-squadfalsefalsetrue
86enableNativeHTTPHistogramexperimental@grafana/grafana-backend-services-squadfalsetruefalse
87disableClassicHTTPHistogramexperimental@grafana/grafana-backend-services-squadfalsetruefalse
88formatStringGA@grafana/dataviz-squadfalsefalsetrue
89kubernetesPlaylistsGA@grafana/grafana-app-platform-squadfalsetruefalse
90kubernetesSnapshotsexperimental@grafana/grafana-app-platform-squadfalsetruefalse
91kubernetesDashboardsexperimental@grafana/grafana-app-platform-squadfalsefalsetrue
92kubernetesCliDashboardsexperimental@grafana/grafana-app-platform-squadfalsefalsefalse
93kubernetesRestoreexperimental@grafana/grafana-app-platform-squadfalsefalsefalse
94kubernetesFoldersServiceV2experimental@grafana/search-and-storagefalsefalsefalse
95datasourceQueryTypesexperimental@grafana/grafana-app-platform-squadfalsetruefalse
96queryServiceexperimental@grafana/grafana-app-platform-squadfalsetruefalse
97queryServiceRewriteexperimental@grafana/grafana-app-platform-squadfalsetruefalse
98queryServiceFromUIexperimental@grafana/grafana-app-platform-squadfalsefalsetrue
99cloudWatchBatchQueriespreview@grafana/aws-datasourcesfalsefalsefalse
100recoveryThresholdGA@grafana/alerting-squadfalsetruefalse
101lokiStructuredMetadataGA@grafana/observability-logsfalsefalsefalse
102teamHttpHeaderspreview@grafana/identity-access-teamfalsefalsefalse
103cachingOptimizeSerializationMemoryUsageexperimental@grafana/grafana-operator-experience-squadfalsefalsefalse
104managedPluginsInstallGA@grafana/plugins-platform-backendfalsefalsefalse
105prometheusPromQAILexperimental@grafana/oss-big-tentfalsefalsetrue
106prometheusCodeModeMetricNamesSearchexperimental@grafana/oss-big-tentfalsefalsetrue
107addFieldFromCalculationStatFunctionsGA@grafana/dataviz-squadfalsefalsetrue
108alertmanagerRemoteSecondaryexperimental@grafana/alerting-squadfalsefalsefalse
109alertmanagerRemotePrimaryexperimental@grafana/alerting-squadfalsefalsefalse
110alertmanagerRemoteOnlyexperimental@grafana/alerting-squadfalsefalsefalse
111annotationPermissionUpdateGA@grafana/identity-access-teamfalsefalsefalse
112extractFieldsNameDeduplicationexperimental@grafana/dataviz-squadfalsefalsetrue
113dashboardSceneForViewersGA@grafana/dashboards-squadfalsefalsetrue
114dashboardSceneSoloGA@grafana/dashboards-squadfalsefalsetrue
115dashboardSceneGA@grafana/dashboards-squadfalsefalsetrue
116dashboardNewLayoutsexperimental@grafana/dashboards-squadfalsefalsetrue
117panelFilterVariableexperimental@grafana/dashboards-squadfalsefalsetrue
118pdfTablespreview@grafana/sharing-squadfalsefalsefalse
119ssoSettingsApiGA@grafana/identity-access-teamfalsefalsefalse
120canvasPanelPanZoompreview@grafana/dataviz-squadfalsefalsetrue
121logsInfiniteScrollingGA@grafana/observability-logsfalsefalsetrue
122exploreMetricsGA@grafana/observability-metricsfalsefalsetrue
123alertingSimplifiedRoutingGA@grafana/alerting-squadfalsefalsefalse
124logRowsPopoverMenuGA@grafana/observability-logsfalsefalsetrue
125pluginsSkipHostEnvVarsexperimental@grafana/plugins-platform-backendfalsefalsefalse
126tableSharedCrosshairexperimental@grafana/dataviz-squadfalsefalsetrue
127regressionTransformationpreview@grafana/dataviz-squadfalsefalsetrue
128lokiQueryHintsGA@grafana/observability-logsfalsefalsetrue
129kubernetesFeatureTogglesexperimental@grafana/grafana-operator-experience-squadfalsefalsetrue
130cloudRBACRolespreview@grafana/identity-access-teamfalsetruefalse
131alertingQueryOptimizationGA@grafana/alerting-squadfalsefalsefalse
132newFolderPickerexperimental@grafana/grafana-frontend-platformfalsefalsetrue
133jitterAlertRulesWithinGroupspreview@grafana/alerting-squadfalsetruefalse
134onPremToCloudMigrationspreview@grafana/grafana-operator-experience-squadfalsefalsefalse
135alertingSaveStatePeriodicprivatePreview@grafana/alerting-squadfalsefalsefalse
136alertingSaveStateCompressedpreview@grafana/alerting-squadfalsefalsefalse
137scopeApiexperimental@grafana/grafana-app-platform-squadfalsefalsefalse
138promQLScopeGA@grafana/oss-big-tentfalsefalsefalse
139logQLScopeprivatePreview@grafana/observability-logsfalsefalsefalse
140sqlExpressionsexperimental@grafana/grafana-datasources-core-servicesfalsefalsefalse
141nodeGraphDotLayoutexperimental@grafana/observability-traces-and-profilingfalsefalsetrue
142groupToNestedTableTransformationGA@grafana/dataviz-squadfalsefalsetrue
143newPDFRenderingGA@grafana/sharing-squadfalsefalsefalse
144tlsMemcachedGA@grafana/grafana-operator-experience-squadfalsefalsefalse
145kubernetesAggregatorexperimental@grafana/grafana-app-platform-squadfalsetruefalse
146expressionParserexperimental@grafana/grafana-app-platform-squadfalsetruefalse
147groupByVariableexperimental@grafana/dashboards-squadfalsefalsefalse
148scopeFiltersexperimental@grafana/dashboards-squadfalsefalsefalse
149ssoSettingsSAMLpreview@grafana/identity-access-teamfalsefalsefalse
150oauthRequireSubClaimexperimental@grafana/identity-access-teamfalsefalsefalse
151newDashboardWithFiltersAndGroupByexperimental@grafana/dashboards-squadfalsefalsefalse
152cloudWatchNewLabelParsingGA@grafana/aws-datasourcesfalsefalsefalse
153accessActionSetsGA@grafana/identity-access-teamfalsefalsefalse
154disableNumericMetricsSortingInExpressionsexperimental@grafana/oss-big-tentfalsetruefalse
155grafanaManagedRecordingRulesexperimental@grafana/alerting-squadfalsefalsefalse
156queryLibraryexperimental@grafana/grafana-frontend-platformfalsefalsefalse
157logsExploreTableDefaultVisualizationexperimental@grafana/observability-logsfalsefalsetrue
158newDashboardSharingComponentGA@grafana/sharing-squadfalsefalsetrue
159alertingListViewV2experimental@grafana/alerting-squadfalsefalsetrue
160dashboardRestoreexperimental@grafana/search-and-storagefalsefalsefalse
161datasourceProxyDisableRBACGA@grafana/identity-access-teamfalsefalsefalse
162alertingDisableSendAlertsExternalexperimental@grafana/alerting-squadfalsefalsefalse
163preserveDashboardStateWhenNavigatingexperimental@grafana/dashboards-squadfalsefalsefalse
164alertingCentralAlertHistoryexperimental@grafana/alerting-squadfalsefalsetrue
165pluginProxyPreserveTrailingSlashGA@grafana/plugins-platform-backendfalsefalsefalse
166sqlQuerybuilderFunctionParametersexperimental@grafana/oss-big-tentfalsefalsetrue
167azureMonitorPrometheusExemplarspreview@grafana/partner-datasourcesfalsefalsefalse
168pinNavItemsGA@grafana/grafana-frontend-platformfalsefalsefalse
169authZGRPCServerexperimental@grafana/identity-access-teamfalsefalsefalse
170ssoSettingsLDAPpreview@grafana/identity-access-teamfalsetruefalse
171failWrongDSUIDexperimental@grafana/plugins-platform-backendfalsefalsefalse
172zanzanaexperimental@grafana/identity-access-teamfalsefalsefalse
173reloadDashboardsOnParamsChangeexperimental@grafana/dashboards-squadfalsefalsefalse
174enableScopesInMetricsExploreexperimental@grafana/dashboards-squadfalsefalsefalse
175alertingApiServerGA@grafana/alerting-squadfalsetruefalse
176cloudWatchRoundUpEndTimeGA@grafana/aws-datasourcesfalsefalsefalse
177prometheusAzureOverrideAudiencedeprecated@grafana/partner-datasourcesfalsefalsefalse
178alertingFilterV2experimental@grafana/alerting-squadfalsefalsefalse
179dataplaneAggregatorexperimental@grafana/grafana-app-platform-squadfalsetruefalse
180newFiltersUIGA@grafana/dashboards-squadfalsefalsefalse
181lokiSendDashboardPanelNamesexperimental@grafana/observability-logsfalsefalsefalse
182alertingPrometheusRulesPrimaryexperimental@grafana/alerting-squadfalsefalsetrue
183exploreLogsShardSplittingexperimental@grafana/observability-logsfalsefalsetrue
184exploreLogsAggregatedMetricsexperimental@grafana/observability-logsfalsefalsetrue
185exploreLogsLimitedTimeRangeexperimental@grafana/observability-logsfalsefalsetrue
186homeSetupGuideexperimental@grafana/growth-and-onboardingfalsefalsetrue
187appPlatformGrpcClientAuthexperimental@grafana/identity-access-teamfalsefalsefalse
188appSidecarexperimental@grafana/grafana-frontend-platformfalsefalsefalse
189groupAttributeSyncprivatePreview@grafana/identity-access-teamfalsefalsefalse
190alertingQueryAndExpressionsStepModeGA@grafana/alerting-squadfalsefalsetrue
191improvedExternalSessionHandlingpreview@grafana/identity-access-teamfalsefalsefalse
192useSessionStorageForRedirectionGA@grafana/identity-access-teamfalsefalsefalse
193rolePickerDrawerexperimental@grafana/identity-access-teamfalsefalsefalse
194unifiedStorageSearchexperimental@grafana/search-and-storagefalsefalsefalse
195unifiedStorageSearchSprinklesexperimental@grafana/search-and-storagefalsefalsefalse
196unifiedStorageSearchPermissionFilteringexperimental@grafana/search-and-storagefalsefalsefalse
197pluginsSriChecksexperimental@grafana/plugins-platform-backendfalsefalsefalse
198unifiedStorageBigObjectsSupportexperimental@grafana/search-and-storagefalsefalsefalse
199timeRangeProviderexperimental@grafana/grafana-frontend-platformfalsefalsefalse
200prometheusUsesComboboxexperimental@grafana/oss-big-tentfalsefalsefalse
201userStorageAPIGA@grafana/plugins-platform-backendfalsefalsefalse
202azureMonitorDisableLogLimitGA@grafana/partner-datasourcesfalsefalsefalse
203preinstallAutoUpdateGA@grafana/plugins-platform-backendfalsefalsefalse
204playlistsReconcilerexperimental@grafana/grafana-app-platform-squadfalsetruefalse
205passwordlessMagicLinkAuthenticationexperimental@grafana/identity-access-teamfalsefalsefalse
206exploreMetricsRelatedLogsexperimental@grafana/observability-metricsfalsefalsetrue
207prometheusSpecialCharsInLabelValuesexperimental@grafana/oss-big-tentfalsefalsetrue
208enableExtensionsAdminPageexperimental@grafana/plugins-platform-backendfalsetruefalse
209enableSCIMexperimental@grafana/identity-access-teamfalsefalsefalse
210crashDetectionexperimental@grafana/observability-traces-and-profilingfalsefalsetrue
211jaegerBackendMigrationexperimental@grafana/oss-big-tentfalsefalsefalse
212reportingUseRawTimeRangeGA@grafana/sharing-squadfalsefalsefalse
213alertingUIOptimizeReducerGA@grafana/alerting-squadfalsefalsetrue
214azureMonitorEnableUserAuthGA@grafana/partner-datasourcesfalsefalsefalse
215alertingNotificationsStepModeGA@grafana/alerting-squadfalsefalsetrue
216useV2DashboardsAPIexperimental@grafana/dashboards-squadfalsetruefalse
217feedbackButtonexperimental@grafana/grafana-operator-experience-squadfalsefalsefalse
218unifiedStorageSearchUIexperimental@grafana/search-and-storagefalsefalsefalse
219elasticsearchCrossClusterSearchpreview@grafana/aws-datasourcesfalsefalsefalse
220unifiedHistoryexperimental@grafana/grafana-frontend-platformfalsefalsetrue
221lokiLabelNamesQueryApiGA@grafana/observability-logsfalsefalsefalse
222investigationsBackendexperimental@grafana/grafana-app-platform-squadfalsefalsefalse
223k8SFolderCountsexperimental@grafana/search-and-storagefalsefalsefalse
224k8SFolderMoveexperimental@grafana/search-and-storagefalsefalsefalse
225improvedExternalSessionHandlingSAMLpreview@grafana/identity-access-teamfalsefalsefalse
226teamHttpHeadersMimirexperimental@grafana/identity-access-teamfalsefalsefalse
227ABTestFeatureToggleAexperimental@grafana/sharing-squadfalsefalsefalse
228templateVariablesUsesComboboxexperimental@grafana/grafana-frontend-platformfalsefalsetrue
229ABTestFeatureToggleBexperimental@grafana/sharing-squadfalsefalsefalse
230grafanaAdvisorexperimental@grafana/plugins-platform-backendfalsefalsefalse
231elasticsearchImprovedParsingexperimental@grafana/aws-datasourcesfalsefalsefalse
232exploreMetricsUseExternalAppPluginexperimental@grafana/observability-metricsfalsetruetrue
233datasourceConnectionsTabexperimental@grafana/plugins-platform-backendfalsefalsetrue
234fetchRulesUsingPostexperimental@grafana/alerting-squadfalsefalsefalse
235alertingConversionAPIexperimental@grafana/alerting-squadfalsefalsefalse
236alertingAlertmanagerExtraDedupStageexperimental@grafana/alerting-squadfalsetruefalse
237alertingAlertmanagerExtraDedupStageStopPipelineexperimental@grafana/alerting-squadfalsetruefalse
238newLogsPanelexperimental@grafana/observability-logsfalsefalsetrue
239grafanaconThemesexperimental@grafana/grafana-frontend-platformfalsetruefalse
240pluginsCDNSyncLoaderexperimental@grafana/plugins-platform-backendfalsefalsefalse
241alertingJiraIntegrationexperimental@grafana/alerting-squadfalsefalsetrue
242alertingRuleVersionHistoryRestoreexperimental@grafana/alerting-squadfalsefalsetrue