Transformers: Remove formatString feature toggle (#113756)

* Transformers: Remove formatString feature toggle

The formatString feature toggle was in GA stage and enabled by default.
This change removes the feature toggle and makes the format string
transformer always available.

Changes:
- Remove formatString feature toggle definition from registry
- Remove conditional check in standardTransformers.ts
- Update feature toggle git log with deletion timestamp
- Regenerate feature toggle files

* fix lint errors
This commit is contained in:
Ihor Yeromin
2025-11-17 14:06:30 +01:00
committed by GitHub
parent 434d370394
commit 10a699fb6c
8 changed files with 3 additions and 22 deletions
@@ -38,7 +38,6 @@ Most [generally available](https://grafana.com/docs/release-life-cycle/#general-
| `transformationsRedesign` | Enables the transformations redesign | Yes |
| `awsAsyncQueryCaching` | Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled | Yes |
| `dashgpt` | Enable AI powered features in dashboards | Yes |
| `formatString` | Enable format string transformer | Yes |
| `kubernetesDashboards` | Use the kubernetes API in the frontend for dashboards | Yes |
| `addFieldFromCalculationStatFunctions` | Add cumulative and window functions to the add field from calculation transformation | Yes |
| `annotationPermissionUpdate` | Change the way annotation permissions work by scoping them to folders and dashboards. | Yes |
-5
View File
@@ -242,11 +242,6 @@ export interface FeatureToggles {
*/
disableClassicHTTPHistogram?: boolean;
/**
* Enable format string transformer
* @default true
*/
formatString?: boolean;
/**
* Routes snapshot requests from /api to the /apis endpoint
*/
kubernetesSnapshots?: boolean;
-8
View File
@@ -402,14 +402,6 @@ var (
AllowSelfServe: false,
RequiresRestart: true,
},
{
Name: "formatString",
Description: "Enable format string transformer",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Owner: grafanaDataProSquad,
Expression: "true", // enabled by default
},
{
Name: "kubernetesSnapshots",
Description: "Routes snapshot requests from /api to the /apis endpoint",
+1 -1
View File
@@ -223,7 +223,7 @@ awsDatasourcesNewFormStyling,2023-10-12T08:59:10Z,2024-07-22T12:48:17Z,2771fb940
cachingOptimizeSerializationMemoryUsage,2023-10-12T16:56:49Z,,94ce87571ddfcede0fb7a229a65502b385d5bca3,Michael Mandrus
panelTitleSearchInV1,2023-10-13T12:04:24Z,2025-01-21T09:59:32Z,bf2f2540da7a4e4b8d80e1fa4ae3d05868cf7b69,Arati R
exploreContentOutline,2023-10-13T16:57:13Z,2024-06-24T15:45:42Z,4ec54bc2c39ba43843c693fdb2a4529b6a4703f2,Haris Rozajac
formatString,2023-10-13T18:17:12Z,,889576ac1d9278b1c6e3e278e8195968646a2db0,Sol
formatString,2023-10-13T18:17:12Z,2025-11-12T00:00:00Z,889576ac1d9278b1c6e3e278e8195968646a2db0,Sol
pluginsInstrumentationStatusSource,2023-10-17T08:27:45Z,2024-02-21T11:57:40Z,f5076d1868caa14ce44a70e812315541b4199d9f,Giuseppe Guerra
teamHttpHeaders,2023-10-17T10:23:54Z,2025-02-20T10:26:46Z,be5ba6813209b5b24e955e0f761032cb5826b578,Eric Leijonmarck
costManagementUi,2023-10-17T16:15:51Z,2024-01-08T14:25:11Z,de1ed216f4bbf6f341aa22b144fa66d583a63981,Adam Bannach
1 #name created deleted hash author
223 cachingOptimizeSerializationMemoryUsage 2023-10-12T16:56:49Z 94ce87571ddfcede0fb7a229a65502b385d5bca3 Michael Mandrus
224 panelTitleSearchInV1 2023-10-13T12:04:24Z 2025-01-21T09:59:32Z bf2f2540da7a4e4b8d80e1fa4ae3d05868cf7b69 Arati R
225 exploreContentOutline 2023-10-13T16:57:13Z 2024-06-24T15:45:42Z 4ec54bc2c39ba43843c693fdb2a4529b6a4703f2 Haris Rozajac
226 formatString 2023-10-13T18:17:12Z 2025-11-12T00:00:00Z 889576ac1d9278b1c6e3e278e8195968646a2db0 Sol
227 pluginsInstrumentationStatusSource 2023-10-17T08:27:45Z 2024-02-21T11:57:40Z f5076d1868caa14ce44a70e812315541b4199d9f Giuseppe Guerra
228 teamHttpHeaders 2023-10-17T10:23:54Z 2025-02-20T10:26:46Z be5ba6813209b5b24e955e0f761032cb5826b578 Eric Leijonmarck
229 costManagementUi 2023-10-17T16:15:51Z 2024-01-08T14:25:11Z de1ed216f4bbf6f341aa22b144fa66d583a63981 Adam Bannach
-1
View File
@@ -51,7 +51,6 @@ lokiRunQueriesInParallel,privatePreview,@grafana/observability-logs,false,false,
externalServiceAccounts,preview,@grafana/identity-access-team,false,false,false
enableNativeHTTPHistogram,experimental,@grafana/grafana-backend-services-squad,false,true,false
disableClassicHTTPHistogram,experimental,@grafana/grafana-backend-services-squad,false,true,false
formatString,GA,@grafana/datapro,false,false,true
kubernetesSnapshots,experimental,@grafana/grafana-app-platform-squad,false,true,false
kubernetesLibraryPanels,experimental,@grafana/grafana-app-platform-squad,false,true,false
kubernetesDashboards,GA,@grafana/dashboards-squad,false,false,true
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
51 externalServiceAccounts preview @grafana/identity-access-team false false false
52 enableNativeHTTPHistogram experimental @grafana/grafana-backend-services-squad false true false
53 disableClassicHTTPHistogram experimental @grafana/grafana-backend-services-squad false true false
formatString GA @grafana/datapro false false true
54 kubernetesSnapshots experimental @grafana/grafana-app-platform-squad false true false
55 kubernetesLibraryPanels experimental @grafana/grafana-app-platform-squad false true false
56 kubernetesDashboards GA @grafana/dashboards-squad false false true
-4
View File
@@ -215,10 +215,6 @@ const (
// Disables classic HTTP Histogram (use with enableNativeHTTPHistogram)
FlagDisableClassicHTTPHistogram = "disableClassicHTTPHistogram"
// FlagFormatString
// Enable format string transformer
FlagFormatString = "formatString"
// FlagKubernetesSnapshots
// Routes snapshot requests from /api to the /apis endpoint
FlagKubernetesSnapshots = "kubernetesSnapshots"
+1
View File
@@ -1788,6 +1788,7 @@
"name": "formatString",
"resourceVersion": "1762442825881",
"creationTimestamp": "2023-10-13T18:17:12Z",
"deletionTimestamp": "2025-11-12T00:00:00Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-11-06 15:27:05.88172 +0000 UTC"
}
@@ -1,5 +1,4 @@
import { TransformerRegistryItem } from '@grafana/data';
import { config } from '@grafana/runtime';
import { getFilterByValueTransformRegistryItem } from './FilterByValueTransformer/FilterByValueTransformerEditor';
import { getHeatmapTransformRegistryItem } from './calculateHeatmap/HeatmapTransformerEditor';
@@ -65,7 +64,7 @@ export const getStandardTransformers = (): TransformerRegistryItem[] => {
getJoinByLabelsTransformRegistryItem(),
getRegressionTransformerRegistryItem(),
getPartitionByValuesTransformRegistryItem(),
...(config.featureToggles.formatString ? [getFormatStringTransformerRegistryItem()] : []),
getFormatStringTransformerRegistryItem(),
getGroupToNestedTableTransformRegistryItem(),
getFormatTimeTransformerRegistryItem(),
getTimeSeriesTableTransformRegistryItem(),