The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/pkg/services/featuremgmt/registry.go

1341 lines
54 KiB

// To change feature flags, edit:
// pkg/services/featuremgmt/registry.go
// Then run tests in:
// pkg/services/featuremgmt/toggles_gen_test.go
// twice to generate and validate the feature flag files
package featuremgmt
import (
"time"
)
var (
// Register each toggle here
standardFeatureFlags = []FeatureFlag{
{
Name: "disableEnvelopeEncryption",
Description: "Disable envelope encryption (emergency only)",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaAsCodeSquad,
HideFromAdminPage: true,
AllowSelfServe: false,
Created: time.Date(2022, time.May, 24, 12, 0, 0, 0, time.UTC),
},
{
Name: "live-service-web-worker",
Description: "This will use a webworker thread to processes events rather than the main thread",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaAppPlatformSquad,
Created: time.Date(2021, time.November, 9, 12, 0, 0, 0, time.UTC),
},
{
Name: "queryOverLive",
Description: "Use Grafana Live WebSocket to execute backend queries",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaAppPlatformSquad,
Created: time.Date(2022, time.January, 5, 12, 0, 0, 0, time.UTC),
},
{
Name: "panelTitleSearch",
Description: "Search for dashboards using panel title",
Stage: FeatureStagePublicPreview,
Owner: grafanaAppPlatformSquad,
HideFromAdminPage: true,
Created: time.Date(2022, time.February, 15, 12, 0, 0, 0, time.UTC),
},
{
Name: "publicDashboards",
Description: "[Deprecated] Public dashboards are now enabled by default; to disable them, use the configuration setting. This feature toggle will be removed in the next major version.",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaSharingSquad,
Expression: "true", // enabled by default
AllowSelfServe: true,
Created: time.Date(2022, time.April, 7, 12, 0, 0, 0, time.UTC),
},
{
Name: "publicDashboardsEmailSharing",
Description: "Enables public dashboard sharing to be restricted to only allowed emails",
Stage: FeatureStagePublicPreview,
Owner: grafanaSharingSquad,
HideFromDocs: true,
HideFromAdminPage: true,
Created: time.Date(2022, time.December, 21, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiExperimentalStreaming",
Description: "Support new streaming approach for loki (prototype, needs special loki build)",
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.June, 19, 12, 0, 0, 0, time.UTC),
},
{
Name: "featureHighlights",
Description: "Highlight Grafana Enterprise features",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaAsCodeSquad,
AllowSelfServe: true,
Created: time.Date(2022, time.February, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "migrationLocking",
Description: "Lock database during migrations",
Stage: FeatureStagePublicPreview,
Owner: grafanaBackendPlatformSquad,
Created: time.Date(2022, time.February, 15, 12, 0, 0, 0, time.UTC),
},
{
Name: "storage",
Description: "Configurable storage for dashboards, datasources, and resources",
Stage: FeatureStageExperimental,
Owner: grafanaAppPlatformSquad,
Created: time.Date(2022, time.March, 17, 12, 0, 0, 0, time.UTC),
},
{
Name: "correlations",
Description: "Correlations page",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaExploreSquad,
AllowSelfServe: true,
Created: time.Date(2022, time.September, 16, 12, 0, 0, 0, time.UTC),
},
{
Name: "exploreContentOutline",
Description: "Content outline sidebar",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaExploreSquad,
Expression: "true", // enabled by default
FrontendOnly: true,
AllowSelfServe: true,
Created: time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "datasourceQueryMultiStatus",
Description: "Introduce HTTP 207 Multi Status for api/ds/query",
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2022, time.May, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "traceToMetrics",
Description: "Enable trace to metrics links",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityTracesAndProfilingSquad,
Created: time.Date(2022, time.March, 7, 12, 0, 0, 0, time.UTC),
},
{
Name: "autoMigrateOldPanels",
Description: "Migrate old angular panels to supported versions (graph, table-old, worldmap, etc)",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaDatavizSquad,
Created: time.Date(2022, time.June, 11, 12, 0, 0, 0, time.UTC),
},
{
Name: "disableAngular",
Description: "Dynamic flag to disable angular at runtime. The preferred method is to set `angular_support_enabled` to `false` in the [security] settings, which allows you to change the state at runtime.",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaDatavizSquad,
HideFromAdminPage: true,
Created: time.Date(2023, time.March, 23, 12, 0, 0, 0, time.UTC),
},
{
Name: "canvasPanelNesting",
Description: "Allow elements nesting",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaDatavizSquad,
HideFromAdminPage: true,
Created: time.Date(2022, time.May, 31, 12, 0, 0, 0, time.UTC),
},
{
Name: "newVizTooltips",
Description: "New visualizations tooltips UX",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaDatavizSquad,
AllowSelfServe: false,
Created: time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "scenes",
Description: "Experimental framework to build interactive dashboards",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaDashboardsSquad,
Created: time.Date(2022, time.July, 7, 12, 0, 0, 0, time.UTC),
},
{
Name: "disableSecretsCompatibility",
Description: "Disable duplicated secret storage in legacy tables",
Stage: FeatureStageExperimental,
RequiresRestart: true,
Owner: hostedGrafanaTeam,
Created: time.Date(2022, time.July, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "logRequestsInstrumentedAsUnknown",
Description: "Logs the path for requests that are instrumented as unknown",
Stage: FeatureStageExperimental,
Owner: hostedGrafanaTeam,
Created: time.Date(2022, time.June, 10, 12, 0, 0, 0, time.UTC),
},
{
Name: "dataConnectionsConsole",
Description: "Enables a new top-level page called Connections. This page is an experiment that provides a better experience when you install and configure data sources and other plugins.",
Stage: FeatureStageGeneralAvailability,
Expression: "true", // turned on by default
Owner: grafanaPluginsPlatformSquad,
AllowSelfServe: true,
Created: time.Date(2022, time.June, 1, 12, 0, 0, 0, time.UTC),
},
{
// Some plugins rely on topnav feature flag being enabled, so we cannot remove this until we
// can afford the breaking change, or we've detemined no one else is relying on it
Name: "topnav",
Description: "Enables topnav support in external plugins. The new Grafana navigation cannot be disabled.",
Stage: FeatureStageDeprecated,
Expression: "true", // enabled by default
Owner: grafanaFrontendPlatformSquad,
Created: time.Date(2022, time.June, 20, 12, 0, 0, 0, time.UTC),
},
{
Name: "dockedMegaMenu",
Description: "Enable support for a persistent (docked) navigation menu",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaFrontendPlatformSquad,
Created: time.Date(2023, time.September, 18, 12, 0, 0, 0, time.UTC),
},
{
Name: "returnToPrevious",
Description: "Enables the return to previous context functionality",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaFrontendPlatformSquad,
Created: time.Date(2024, time.January, 9, 11, 0, 0, 0, time.UTC),
},
{
Name: "grpcServer",
Description: "Run the GRPC server",
Stage: FeatureStagePublicPreview,
Owner: grafanaAppPlatformSquad,
HideFromAdminPage: true,
Created: time.Date(2022, time.September, 27, 12, 0, 0, 0, time.UTC),
},
{
Name: "unifiedStorage",
Description: "SQL-based k8s storage",
Stage: FeatureStageExperimental,
RequiresDevMode: true,
RequiresRestart: true, // new SQL tables created
Owner: grafanaAppPlatformSquad,
Created: time.Date(2022, time.December, 1, 12, 0, 0, 0, time.UTC),
},
{
Name: "cloudWatchCrossAccountQuerying",
Description: "Enables cross-account querying in CloudWatch datasources",
Stage: FeatureStageGeneralAvailability,
Expression: "true", // enabled by default
Owner: awsDatasourcesSquad,
AllowSelfServe: true,
Created: time.Date(2022, time.November, 28, 12, 0, 0, 0, time.UTC),
},
{
Name: "redshiftAsyncQueryDataSupport",
Description: "Enable async query data support for Redshift",
Stage: FeatureStageGeneralAvailability,
Expression: "true", // enabled by default
Owner: awsDatasourcesSquad,
AllowSelfServe: false,
Created: time.Date(2022, time.August, 27, 12, 0, 0, 0, time.UTC),
},
{
Name: "athenaAsyncQueryDataSupport",
Description: "Enable async query data support for Athena",
Stage: FeatureStageGeneralAvailability,
Expression: "true", // enabled by default
FrontendOnly: true,
Owner: awsDatasourcesSquad,
AllowSelfServe: false,
Created: time.Date(2022, time.August, 27, 12, 0, 0, 0, time.UTC),
},
{
Name: "showDashboardValidationWarnings",
Description: "Show warnings when dashboards do not validate against the schema",
Stage: FeatureStageExperimental,
Owner: grafanaDashboardsSquad,
Created: time.Date(2022, time.October, 14, 12, 0, 0, 0, time.UTC),
},
{
Name: "mysqlAnsiQuotes",
Description: "Use double quotes to escape keyword in a MySQL query",
Stage: FeatureStageExperimental,
Owner: grafanaBackendPlatformSquad,
Created: time.Date(2022, time.October, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "accessControlOnCall",
Description: "Access control primitives for OnCall",
Stage: FeatureStagePublicPreview,
Owner: identityAccessTeam,
HideFromAdminPage: true,
Created: time.Date(2022, time.October, 19, 12, 0, 0, 0, time.UTC),
},
{
Name: "nestedFolders",
Description: "Enable folder nesting",
Stage: FeatureStagePublicPreview,
Owner: grafanaBackendPlatformSquad,
Created: time.Date(2022, time.October, 22, 12, 0, 0, 0, time.UTC),
},
{
Name: "nestedFolderPicker",
Description: "Enables the new folder picker to work with nested folders. Requires the nestedFolders feature toggle",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaFrontendPlatformSquad,
FrontendOnly: true,
Expression: "true", // enabled by default
AllowSelfServe: true,
Created: time.Date(2023, time.July, 24, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertingBacktesting",
Description: "Rule backtesting API for alerting",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
Created: time.Date(2022, time.October, 20, 12, 0, 0, 0, time.UTC),
},
{
Name: "editPanelCSVDragAndDrop",
Description: "Enables drag and drop for CSV and Excel files",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaBiSquad,
Created: time.Date(2022, time.December, 20, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertingNoNormalState",
Description: "Stop maintaining state of alerts that are not firing",
Stage: FeatureStagePublicPreview,
RequiresRestart: false,
Owner: grafanaAlertingSquad,
HideFromAdminPage: true,
Created: time.Date(2023, time.January, 14, 12, 0, 0, 0, time.UTC),
},
{
Name: "logsContextDatasourceUi",
Description: "Allow datasource to provide custom UI for context view",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
Expression: "true", // turned on by default
AllowSelfServe: true,
Created: time.Date(2023, time.January, 27, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiQuerySplitting",
Description: "Split large interval queries into subqueries with smaller time intervals",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
Expression: "true", // turned on by default
AllowSelfServe: true,
Created: time.Date(2023, time.February, 9, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiQuerySplittingConfig",
Description: "Give users the option to configure split durations for Loki queries",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.March, 20, 12, 0, 0, 0, time.UTC),
},
{
Name: "individualCookiePreferences",
Description: "Support overriding cookie preferences per user",
Stage: FeatureStageExperimental,
Owner: grafanaBackendPlatformSquad,
Created: time.Date(2023, time.February, 23, 12, 0, 0, 0, time.UTC),
},
{
Name: "prometheusMetricEncyclopedia",
Description: "Adds the metrics explorer component to the Prometheus query builder as an option in metric select",
Expression: "true",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Owner: grafanaObservabilityMetricsSquad,
AllowSelfServe: true,
Created: time.Date(2023, time.March, 7, 12, 0, 0, 0, time.UTC),
},
{
Name: "influxdbBackendMigration",
Description: "Query InfluxDB InfluxQL without the proxy",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Owner: grafanaObservabilityMetricsSquad,
Expression: "true", // enabled by default
AllowSelfServe: false,
Created: time.Date(2023, time.March, 15, 12, 0, 0, 0, time.UTC),
},
{
Name: "influxqlStreamingParser",
Description: "Enable streaming JSON parser for InfluxDB datasource InfluxQL query language",
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityMetricsSquad,
Created: time.Date(2023, time.November, 29, 12, 0, 0, 0, time.UTC),
},
{
Name: "clientTokenRotation",
Description: "Replaces the current in-request token rotation so that the client initiates the rotation",
Stage: FeatureStageGeneralAvailability,
Expression: "true",
Owner: identityAccessTeam,
AllowSelfServe: false,
Created: time.Date(2023, time.March, 23, 12, 0, 0, 0, time.UTC),
},
{
Name: "prometheusDataplane",
Description: "Changes responses to from Prometheus to be compliant with the dataplane specification. In particular, when this feature toggle is active, the numeric `Field.Name` is set from 'Value' to the value of the `__name__` label.",
Expression: "true",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaObservabilityMetricsSquad,
AllowSelfServe: true,
Created: time.Date(2023, time.March, 29, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiMetricDataplane",
Description: "Changes metric responses from Loki to be compliant with the dataplane specification.",
Stage: FeatureStageGeneralAvailability,
Expression: "true",
Owner: grafanaObservabilityLogsSquad,
AllowSelfServe: true,
Created: time.Date(2023, time.April, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiLogsDataplane",
Description: "Changes logs responses from Loki to be compliant with the dataplane specification.",
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.July, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "dataplaneFrontendFallback",
Description: "Support dataplane contract field name change for transformations and field name matchers where the name is different",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Expression: "true",
Owner: grafanaObservabilityMetricsSquad,
AllowSelfServe: true,
Created: time.Date(2023, time.April, 24, 12, 0, 0, 0, time.UTC),
},
{
Name: "disableSSEDataplane",
Description: "Disables dataplane specific processing in server side expressions.",
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityMetricsSquad,
Created: time.Date(2023, time.April, 24, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertStateHistoryLokiSecondary",
Description: "Enable Grafana to write alert state history to an external Loki instance in addition to Grafana annotations.",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
Created: time.Date(2023, time.March, 30, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertStateHistoryLokiPrimary",
Description: "Enable a remote Loki instance as the primary source for state history reads.",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
Created: time.Date(2023, time.March, 30, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertStateHistoryLokiOnly",
Description: "Disable Grafana alerts from emitting annotations when a remote Loki instance is available.",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
Created: time.Date(2023, time.March, 30, 12, 0, 0, 0, time.UTC),
},
{
Name: "unifiedRequestLog",
Description: "Writes error logs to the request logger",
Stage: FeatureStageExperimental,
Owner: grafanaBackendPlatformSquad,
Created: time.Date(2023, time.March, 31, 12, 0, 0, 0, time.UTC),
},
{
Name: "renderAuthJWT",
Description: "Uses JWT-based auth for rendering instead of relying on remote cache",
Stage: FeatureStagePublicPreview,
Owner: grafanaAsCodeSquad,
HideFromAdminPage: true,
Created: time.Date(2023, time.April, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "externalServiceAuth",
Description: "Starts an OAuth2 authentication provider for external services",
Stage: FeatureStageExperimental,
RequiresDevMode: true,
Owner: identityAccessTeam,
Created: time.Date(2023, time.April, 11, 12, 0, 0, 0, time.UTC),
},
{
Name: "refactorVariablesTimeRange",
Description: "Refactor time range variables flow to reduce number of API calls made when query variables are chained",
Stage: FeatureStagePublicPreview,
Owner: grafanaDashboardsSquad,
HideFromAdminPage: true, // Non-feature, used to test out a bug fix that impacts the performance of template variables.
Created: time.Date(2023, time.June, 6, 12, 0, 0, 0, time.UTC),
},
{
Name: "enableElasticsearchBackendQuerying",
Description: "Enable the processing of queries and responses in the Elasticsearch data source through backend",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaObservabilityLogsSquad,
Expression: "true", // enabled by default
AllowSelfServe: true,
Created: time.Date(2023, time.April, 14, 12, 0, 0, 0, time.UTC),
},
{
Name: "advancedDataSourcePicker",
Description: "Enable a new data source picker with contextual information, recently used order and advanced mode",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Expression: "true", // enabled by default
Owner: grafanaDashboardsSquad,
AllowSelfServe: false,
HideFromAdminPage: true,
Created: time.Date(2023, time.April, 14, 12, 0, 0, 0, time.UTC),
},
{
Name: "faroDatasourceSelector",
Description: "Enable the data source selector within the Frontend Apps section of the Frontend Observability",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: appO11ySquad,
Created: time.Date(2023, time.May, 4, 12, 0, 0, 0, time.UTC),
},
{
Name: "enableDatagridEditing",
Description: "Enables the edit functionality in the datagrid panel",
FrontendOnly: true,
Stage: FeatureStagePublicPreview,
Owner: grafanaBiSquad,
Created: time.Date(2023, time.April, 24, 12, 0, 0, 0, time.UTC),
},
{
Name: "extraThemes",
Description: "Enables extra themes",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaFrontendPlatformSquad,
Created: time.Date(2023, time.May, 10, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiPredefinedOperations",
Description: "Adds predefined query operations to Loki query editor",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.June, 2, 12, 0, 0, 0, time.UTC),
},
{
Name: "pluginsFrontendSandbox",
Description: "Enables the plugins frontend sandbox",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.June, 5, 12, 0, 0, 0, time.UTC),
},
{
Name: "dashboardEmbed",
Description: "Allow embedding dashboard for external use in Code editors",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaAsCodeSquad,
Created: time.Date(2023, time.July, 6, 12, 0, 0, 0, time.UTC),
},
{
Name: "frontendSandboxMonitorOnly",
Description: "Enables monitor only in the plugin frontend sandbox (if enabled)",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.July, 5, 12, 0, 0, 0, time.UTC),
},
{
Name: "sqlDatasourceDatabaseSelection",
Description: "Enables previous SQL data source dataset dropdown behavior",
FrontendOnly: true,
Stage: FeatureStagePublicPreview,
Owner: grafanaBiSquad,
HideFromAdminPage: true,
Created: time.Date(2023, time.June, 6, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiFormatQuery",
Description: "Enables the ability to format Loki queries",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.June, 21, 12, 0, 0, 0, time.UTC),
},
{
Name: "cloudWatchLogsMonacoEditor",
Description: "Enables the Monaco editor for CloudWatch Logs queries",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Expression: "true", // enabled by default
Owner: awsDatasourcesSquad,
AllowSelfServe: true,
Created: time.Date(2023, time.June, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "exploreScrollableLogsContainer",
Description: "Improves the scrolling behavior of logs in Explore",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.June, 15, 12, 0, 0, 0, time.UTC),
},
{
Name: "recordedQueriesMulti",
Description: "Enables writing multiple items from a single query within Recorded Queries",
Stage: FeatureStageGeneralAvailability,
Expression: "true",
Owner: grafanaObservabilityMetricsSquad,
AllowSelfServe: false,
Created: time.Date(2023, time.June, 14, 12, 0, 0, 0, time.UTC),
},
{
Name: "pluginsDynamicAngularDetectionPatterns",
Description: "Enables fetching Angular detection patterns for plugins from GCOM and fallback to hardcoded ones",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.June, 26, 12, 0, 0, 0, time.UTC),
},
{
Name: "vizAndWidgetSplit",
Description: "Split panels between visualizations and widgets",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaDashboardsSquad,
Created: time.Date(2023, time.June, 27, 12, 0, 0, 0, time.UTC),
},
{
Name: "prometheusIncrementalQueryInstrumentation",
Description: "Adds RudderStack events to incremental queries",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityMetricsSquad,
Created: time.Date(2023, time.July, 5, 12, 0, 0, 0, time.UTC),
},
{
Name: "logsExploreTableVisualisation",
Description: "A table visualisation for logs in Explore",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.July, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "awsDatasourcesTempCredentials",
Description: "Support temporary security credentials in AWS plugins for Grafana Cloud customers",
Stage: FeatureStageExperimental,
Owner: awsDatasourcesSquad,
Created: time.Date(2023, time.July, 6, 12, 0, 0, 0, time.UTC),
},
{
Name: "transformationsRedesign",
Description: "Enables the transformations redesign",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Expression: "true", // enabled by default
Owner: grafanaObservabilityMetricsSquad,
AllowSelfServe: true,
Created: time.Date(2023, time.July, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "mlExpressions",
Description: "Enable support for Machine Learning in server-side expressions",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaAlertingSquad,
Created: time.Date(2023, time.July, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "traceQLStreaming",
Description: "Enables response streaming of TraceQL queries of the Tempo data source",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityTracesAndProfilingSquad,
Created: time.Date(2023, time.July, 26, 12, 0, 0, 0, time.UTC),
},
{
Name: "metricsSummary",
Description: "Enables metrics summary queries in the Tempo data source",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityTracesAndProfilingSquad,
Created: time.Date(2023, time.August, 28, 12, 0, 0, 0, time.UTC),
},
{
Name: "grafanaAPIServerWithExperimentalAPIs",
Description: "Register experimental APIs with the k8s API server",
Stage: FeatureStageExperimental,
RequiresRestart: true,
RequiresDevMode: true,
Owner: grafanaAppPlatformSquad,
Created: time.Date(2023, time.October, 6, 12, 0, 0, 0, time.UTC),
},
{
Name: "grafanaAPIServerEnsureKubectlAccess",
Description: "Start an additional https handler and write kubectl options",
Stage: FeatureStageExperimental,
RequiresDevMode: true,
RequiresRestart: true,
Owner: grafanaAppPlatformSquad,
Created: time.Date(2023, time.December, 6, 12, 0, 0, 0, time.UTC),
},
{
Name: "featureToggleAdminPage",
Description: "Enable admin page for managing feature toggles from the Grafana front-end",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaOperatorExperienceSquad,
RequiresRestart: true,
Created: time.Date(2023, time.July, 18, 12, 0, 0, 0, time.UTC),
},
{
Name: "awsAsyncQueryCaching",
Description: "Enable caching for async queries for Redshift and Athena. Requires that the datasource has caching and async query support enabled",
Stage: FeatureStageGeneralAvailability,
Expression: "true", // enabled by default
Owner: awsDatasourcesSquad,
Created: time.Date(2023, time.July, 21, 12, 0, 0, 0, time.UTC),
},
{
Name: "splitScopes",
Description: "Support faster dashboard and folder search by splitting permission scopes into parts",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: false,
Expression: "true", // enabled by default
Owner: identityAccessTeam,
RequiresRestart: true,
HideFromAdminPage: true, // This is internal work to speed up dashboard search, and is not ready for wider use
Created: time.Date(2023, time.July, 21, 12, 0, 0, 0, time.UTC),
},
{
Name: "permissionsFilterRemoveSubquery",
Description: "Alternative permission filter implementation that does not use subqueries for fetching the dashboard folder",
Stage: FeatureStageExperimental,
Owner: grafanaBackendPlatformSquad,
Created: time.Date(2023, time.August, 2, 12, 0, 0, 0, time.UTC),
},
{
Name: "prometheusConfigOverhaulAuth",
Description: "Update the Prometheus configuration page with the new auth component",
Owner: grafanaObservabilityMetricsSquad,
Stage: FeatureStageGeneralAvailability,
Expression: "true", // on by default
AllowSelfServe: false,
Created: time.Date(2023, time.July, 21, 12, 0, 0, 0, time.UTC),
},
{
Name: "configurableSchedulerTick",
Description: "Enable changing the scheduler base interval via configuration option unified_alerting.scheduler_tick_interval",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaAlertingSquad,
RequiresRestart: true,
HideFromDocs: true,
Created: time.Date(2023, time.July, 26, 12, 0, 0, 0, time.UTC),
},
{
Name: "influxdbSqlSupport",
Description: "Enable InfluxDB SQL query language support with new querying UI",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: false,
Owner: grafanaObservabilityMetricsSquad,
RequiresRestart: true,
AllowSelfServe: true,
Expression: "true", // enabled by default
Created: time.Date(2023, time.August, 2, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertingNoDataErrorExecution",
Description: "Changes how Alerting state manager handles execution of NoData/Error",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: false,
Owner: grafanaAlertingSquad,
RequiresRestart: true,
Expression: "true", // enabled by default
Created: time.Date(2023, time.August, 15, 12, 0, 0, 0, time.UTC),
},
{
Name: "angularDeprecationUI",
Description: "Display new Angular deprecation-related UI features",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.August, 29, 12, 0, 0, 0, time.UTC),
},
{
Name: "dashgpt",
Description: "Enable AI powered features in dashboards",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaDashboardsSquad,
Created: time.Date(2023, time.November, 17, 12, 0, 0, 0, time.UTC),
},
{
Name: "reportingRetries",
Description: "Enables rendering retries for the reporting feature",
Stage: FeatureStagePublicPreview,
FrontendOnly: false,
Owner: grafanaSharingSquad,
RequiresRestart: true,
Created: time.Date(2023, time.August, 31, 12, 0, 0, 0, time.UTC),
},
{
Name: "sseGroupByDatasource",
Description: "Send query to the same datasource in a single request when using server side expressions. The `cloudWatchBatchQueries` feature toggle should be enabled if this used with CloudWatch.",
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityMetricsSquad,
Created: time.Date(2023, time.September, 7, 12, 0, 0, 0, time.UTC),
},
{
Name: "requestInstrumentationStatusSource",
Description: "Include a status source label for request metrics and logs",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.September, 11, 12, 0, 0, 0, time.UTC),
},
{
Name: "libraryPanelRBAC",
Description: "Enables RBAC support for library panels",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaDashboardsSquad,
RequiresRestart: true,
Created: time.Date(2023, time.October, 11, 12, 0, 0, 0, time.UTC),
},
{
Name: "lokiRunQueriesInParallel",
Description: "Enables running Loki queries in parallel",
Stage: FeatureStagePrivatePreview,
FrontendOnly: false,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.September, 19, 12, 0, 0, 0, time.UTC),
},
{
Name: "wargamesTesting",
Description: "Placeholder feature flag for internal testing",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: hostedGrafanaTeam,
Created: time.Date(2023, time.September, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertingInsights",
Description: "Show the new alerting insights landing page",
FrontendOnly: true,
Stage: FeatureStageGeneralAvailability,
Owner: grafanaAlertingSquad,
Expression: "true", // enabled by default
AllowSelfServe: false,
HideFromAdminPage: true, // This is moving away from being a feature toggle.
Created: time.Date(2023, time.September, 14, 12, 0, 0, 0, time.UTC),
},
{
Name: "externalCorePlugins",
Description: "Allow core plugins to be loaded as external",
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.September, 22, 12, 0, 0, 0, time.UTC),
},
{
Name: "pluginsAPIMetrics",
Description: "Sends metrics of public grafana packages usage by plugins",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.September, 21, 12, 0, 0, 0, time.UTC),
},
{
Name: "httpSLOLevels",
Description: "Adds SLO level to http request metrics",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: hostedGrafanaTeam,
RequiresRestart: true,
Created: time.Date(2023, time.September, 22, 12, 0, 0, 0, time.UTC),
},
{
Name: "idForwarding",
Description: "Generate signed id token for identity that can be forwarded to plugins and external services",
Stage: FeatureStageExperimental,
Owner: identityAccessTeam,
Created: time.Date(2023, time.September, 25, 12, 0, 0, 0, time.UTC),
},
{
Name: "cloudWatchWildCardDimensionValues",
Description: "Fetches dimension values from CloudWatch to correctly label wildcard dimensions",
Stage: FeatureStageGeneralAvailability,
Expression: "true", // enabled by default
Owner: awsDatasourcesSquad,
AllowSelfServe: true,
Created: time.Date(2023, time.September, 27, 12, 0, 0, 0, time.UTC),
},
{
Name: "externalServiceAccounts",
Description: "Automatic service account and token setup for plugins",
Stage: FeatureStagePrivatePreview,
Owner: identityAccessTeam,
Created: time.Date(2023, time.September, 28, 12, 0, 0, 0, time.UTC),
},
{
Name: "panelMonitoring",
Description: "Enables panel monitoring through logs and measurements",
Stage: FeatureStageExperimental,
Owner: grafanaDatavizSquad,
FrontendOnly: true,
Created: time.Date(2023, time.October, 8, 12, 0, 0, 0, time.UTC),
},
{
Name: "enableNativeHTTPHistogram",
Description: "Enables native HTTP Histograms",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: hostedGrafanaTeam,
Created: time.Date(2023, time.October, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "formatString",
Description: "Enable format string transformer",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaBiSquad,
Created: time.Date(2023, time.October, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "transformationsVariableSupport",
Description: "Allows using variables in transformations",
FrontendOnly: true,
Stage: FeatureStagePublicPreview,
Owner: grafanaBiSquad,
Created: time.Date(2023, time.October, 4, 12, 0, 0, 0, time.UTC),
},
{
Name: "kubernetesPlaylists",
Description: "Use the kubernetes API in the frontend for playlists, and route /api/playlist requests to k8s",
Stage: FeatureStageExperimental,
Owner: grafanaAppPlatformSquad,
RequiresRestart: true, // changes the API routing
Created: time.Date(2023, time.November, 8, 12, 0, 0, 0, time.UTC),
},
{
Name: "kubernetesSnapshots",
Description: "Use the kubernetes API in the frontend to support playlists",
Stage: FeatureStageExperimental,
Owner: grafanaAppPlatformSquad,
RequiresRestart: true, // changes the API routing
Created: time.Date(2023, time.December, 4, 12, 0, 0, 0, time.UTC),
},
{
Name: "cloudWatchBatchQueries",
Description: "Runs CloudWatch metrics queries as separate batches",
Stage: FeatureStagePublicPreview,
Owner: awsDatasourcesSquad,
Created: time.Date(2023, time.October, 20, 12, 0, 0, 0, time.UTC),
},
{
Name: "recoveryThreshold",
Description: "Enables feature recovery threshold (aka hysteresis) for threshold server-side expression",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: false,
Owner: grafanaAlertingSquad,
RequiresRestart: true,
Created: time.Date(2023, time.October, 10, 12, 0, 0, 0, time.UTC),
Expression: "true",
},
{
Name: "lokiStructuredMetadata",
Description: "Enables the loki data source to request structured metadata from the Loki server",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.November, 16, 12, 0, 0, 0, time.UTC),
},
{
Name: "teamHttpHeaders",
Description: "Enables datasources to apply team headers to the client requests",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: identityAccessTeam,
Created: time.Date(2023, time.October, 17, 12, 0, 0, 0, time.UTC),
},
{
Name: "awsDatasourcesNewFormStyling",
Description: "Applies new form styling for configuration and query editors in AWS plugins",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: awsDatasourcesSquad,
Created: time.Date(2023, time.October, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "cachingOptimizeSerializationMemoryUsage",
Description: "If enabled, the caching backend gradually serializes query responses for the cache, comparing against the configured `[caching]max_value_mb` value as it goes. This can can help prevent Grafana from running out of memory while attempting to cache very large query responses.",
Stage: FeatureStageExperimental,
Owner: grafanaOperatorExperienceSquad,
FrontendOnly: false,
Created: time.Date(2023, time.October, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "panelTitleSearchInV1",
Description: "Enable searching for dashboards using panel title in search v1",
RequiresDevMode: true,
Stage: FeatureStageExperimental,
Owner: grafanaBackendPlatformSquad,
Created: time.Date(2023, time.October, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "pluginsInstrumentationStatusSource",
Description: "Include a status source label for plugin request metrics and logs",
FrontendOnly: false,
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.October, 17, 12, 0, 0, 0, time.UTC),
},
{
Name: "managedPluginsInstall",
Description: "Install managed plugins directly from plugins catalog",
Stage: FeatureStagePublicPreview,
RequiresDevMode: false,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.October, 18, 12, 0, 0, 0, time.UTC),
},
{
Name: "prometheusPromQAIL",
Description: "Prometheus and AI/ML to assist users in creating a query",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityMetricsSquad,
Created: time.Date(2023, time.October, 19, 12, 0, 0, 0, time.UTC),
},
{
Name: "addFieldFromCalculationStatFunctions",
Description: "Add cumulative and window functions to the add field from calculation transformation",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaBiSquad,
Created: time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertmanagerRemoteSecondary",
Description: "Enable Grafana to sync configuration and state with a remote Alertmanager.",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
Created: time.Date(2023, time.October, 30, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertmanagerRemotePrimary",
Description: "Enable Grafana to have a remote Alertmanager instance as the primary Alertmanager.",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
Created: time.Date(2023, time.October, 30, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertmanagerRemoteOnly",
Description: "Disable the internal Alertmanager and only use the external one defined.",
Stage: FeatureStageExperimental,
Owner: grafanaAlertingSquad,
Created: time.Date(2023, time.October, 30, 12, 0, 0, 0, time.UTC),
},
{
Name: "annotationPermissionUpdate",
Description: "Separate annotation permissions from dashboard permissions to allow for more granular control.",
Stage: FeatureStageExperimental,
RequiresDevMode: false,
Owner: identityAccessTeam,
Created: time.Date(2023, time.October, 31, 12, 0, 0, 0, time.UTC),
},
{
Name: "extractFieldsNameDeduplication",
Description: "Make sure extracted field names are unique in the dataframe",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaBiSquad,
Created: time.Date(2023, time.November, 2, 12, 0, 0, 0, time.UTC),
},
{
Name: "dashboardSceneForViewers",
Description: "Enables dashboard rendering using Scenes for viewer roles",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaDashboardsSquad,
Created: time.Date(2023, time.November, 2, 12, 0, 0, 0, time.UTC),
},
{
Name: "dashboardScene",
Description: "Enables dashboard rendering using scenes for all roles",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaDashboardsSquad,
Created: time.Date(2023, time.November, 13, 12, 0, 0, 0, time.UTC),
},
{
Name: "panelFilterVariable",
Description: "Enables use of the `systemPanelFilterVar` variable to filter panels in a dashboard",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaDashboardsSquad,
HideFromDocs: true,
Created: time.Date(2023, time.November, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "pdfTables",
Description: "Enables generating table data as PDF in reporting",
Stage: FeatureStagePublicPreview,
FrontendOnly: false,
Owner: grafanaSharingSquad,
Created: time.Date(2023, time.November, 6, 12, 0, 0, 0, time.UTC),
},
{
Name: "ssoSettingsApi",
Description: "Enables the SSO settings API",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: identityAccessTeam,
Created: time.Date(2023, time.November, 8, 12, 0, 0, 0, time.UTC),
},
{
Name: "canvasPanelPanZoom",
Description: "Allow pan and zoom in canvas panel",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaDatavizSquad,
Created: time.Date(2023, time.December, 27, 12, 0, 0, 0, time.UTC),
},
{
Name: "logsInfiniteScrolling",
Description: "Enables infinite scrolling for the Logs panel in Explore and Dashboards",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.November, 9, 12, 0, 0, 0, time.UTC),
},
{
Name: "flameGraphItemCollapsing",
Description: "Allow collapsing of flame graph items",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityTracesAndProfilingSquad,
Created: time.Date(2023, time.November, 9, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertingDetailsViewV2",
Description: "Enables the preview of the new alert details view",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaAlertingSquad,
HideFromDocs: true,
Created: time.Date(2023, time.November, 9, 12, 0, 0, 0, time.UTC),
},
{
Name: "datatrails",
Description: "Enables the new core app datatrails",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaDashboardsSquad,
HideFromDocs: true,
Created: time.Date(2023, time.November, 15, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertingSimplifiedRouting",
Description: "Enables the simplified routing for alerting",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaAlertingSquad,
HideFromDocs: true,
Created: time.Date(2023, time.November, 10, 12, 0, 0, 0, time.UTC),
},
{
Name: "logRowsPopoverMenu",
Description: "Enable filtering menu displayed when text of a log line is selected",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Expression: "true",
Owner: grafanaObservabilityLogsSquad,
Created: time.Date(2023, time.November, 16, 12, 0, 0, 0, time.UTC),
},
{
Name: "pluginsSkipHostEnvVars",
Description: "Disables passing host environment variable to plugin processes",
Stage: FeatureStageExperimental,
FrontendOnly: false,
Owner: grafanaPluginsPlatformSquad,
Created: time.Date(2023, time.November, 15, 12, 0, 0, 0, time.UTC),
},
{
Name: "tableSharedCrosshair",
Description: "Enables shared crosshair in table panel",
FrontendOnly: true,
Stage: FeatureStageExperimental,
Owner: grafanaBiSquad,
Created: time.Date(2023, time.December, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "regressionTransformation",
Description: "Enables regression analysis transformation",
Stage: FeatureStagePublicPreview,
FrontendOnly: true,
Owner: grafanaBiSquad,
Created: time.Date(2023, time.November, 24, 12, 0, 0, 0, time.UTC),
},
{
Name: "displayAnonymousStats",
Description: "Enables anonymous stats to be shown in the UI for Grafana",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Owner: identityAccessTeam,
Created: time.Date(2023, time.November, 29, 12, 0, 0, 0, time.UTC),
AllowSelfServe: false,
Expression: "true", // enabled by default
},
{
// this is mainly used a a way to quickly disable query hints as a safe guard for our infrastructure
Name: "lokiQueryHints",
Description: "Enables query hints for Loki",
Stage: FeatureStageGeneralAvailability,
FrontendOnly: true,
Expression: "true",
Owner: grafanaObservabilityLogsSquad,
AllowSelfServe: false,
Created: time.Date(2023, time.December, 18, 12, 0, 0, 0, time.UTC),
},
{
Name: "kubernetesFeatureToggles",
Description: "Use the kubernetes API for feature toggle management in the frontend",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaOperatorExperienceSquad,
AllowSelfServe: false,
Created: time.Date(2023, time.December, 22, 3, 43, 0, 0, time.UTC),
HideFromAdminPage: true,
},
{
Name: "alertingPreviewUpgrade",
Description: "Show Unified Alerting preview and upgrade page in legacy alerting",
FrontendOnly: false,
Stage: FeatureStagePublicPreview,
Owner: grafanaAlertingSquad,
RequiresRestart: true,
Created: time.Date(2024, time.January, 3, 12, 0, 0, 0, time.UTC),
},
{
Name: "enablePluginsTracingByDefault",
Description: "Enable plugin tracing for all external plugins",
FrontendOnly: false,
Stage: FeatureStageExperimental,
Owner: grafanaPluginsPlatformSquad,
RequiresRestart: true,
Created: time.Date(2024, time.January, 9, 12, 0, 0, 0, time.UTC),
},
{
Name: "cloudRBACRoles",
Description: "Enabled grafana cloud specific RBAC roles",
Stage: FeatureStageExperimental,
Owner: identityAccessTeam,
HideFromDocs: true,
RequiresRestart: true,
Created: time.Date(2024, time.January, 10, 12, 0, 0, 0, time.UTC),
},
{
Name: "alertingQueryOptimization",
Description: "Optimizes eligible queries in order to reduce load on datasources",
Stage: FeatureStageGeneralAvailability,
Owner: grafanaAlertingSquad,
AllowSelfServe: false,
Created: time.Date(2024, time.January, 10, 12, 0, 0, 0, time.UTC),
},
{
Name: "newFolderPicker",
Description: "Enables the nested folder picker without having nested folders enabled",
Stage: FeatureStageExperimental,
Owner: grafanaFrontendPlatformSquad,
FrontendOnly: true,
Created: time.Date(2024, time.January, 12, 12, 0, 0, 0, time.UTC),
},
{
Name: "jitterAlertRules",
Description: "Distributes alert rule evaluations more evenly over time, by rule group",
FrontendOnly: false,
Stage: FeatureStageGeneralAvailability,
Owner: grafanaAlertingSquad,
AllowSelfServe: false,
HideFromDocs: false,
HideFromAdminPage: false,
RequiresRestart: true,
Created: time.Date(2024, time.January, 17, 12, 0, 0, 0, time.UTC),
},
{
Name: "jitterAlertRulesWithinGroups",
Description: "Distributes alert rule evaluations more evenly over time, including spreading out rules within the same group",
FrontendOnly: false,
Stage: FeatureStagePublicPreview,
Owner: grafanaAlertingSquad,
AllowSelfServe: false,
HideFromDocs: true,
HideFromAdminPage: false,
RequiresRestart: true,
Created: time.Date(2024, time.January, 17, 12, 0, 0, 0, time.UTC),
},
{
Name: "onPremToCloudMigrations",
Description: "In-development feature that will allow users to easily migrate their on-prem Grafana instances to Grafana Cloud.",
Stage: FeatureStageExperimental,
Owner: grafanaOperatorExperienceSquad,
Created: time.Date(2024, time.January, 22, 3, 30, 00, 00, time.UTC),
},
{
Name: "alertingSaveStatePeriodic",
Description: "Writes the state periodically to the database, asynchronous to rule evaluation",
Stage: FeatureStagePrivatePreview,
FrontendOnly: false,
Owner: grafanaAlertingSquad,
Created: time.Date(2024, time.January, 22, 12, 0, 0, 0, time.UTC),
},
{
Name: "promQLScope",
Description: "In-development feature that will allow injection of labels into prometheus queries.",
Stage: FeatureStageExperimental,
Owner: grafanaObservabilityMetricsSquad,
Created: time.Date(2024, time.January, 29, 0, 0, 0, 0, time.UTC),
},
{
Name: "slateAutocomplete",
Description: "Adjusts the behaviour of the slate editor to properly handle autocomplete. Feature toggled for safety.",
Stage: FeatureStageGeneralAvailability,
Expression: "true", // enabled by default
FrontendOnly: true,
Owner: grafanaFrontendPlatformSquad,
Created: time.Date(2024, time.January, 29, 12, 0, 0, 0, time.UTC),
},
{
Name: "nodeGraphDotLayout",
Description: "Changed the layout algorithm for the node graph",
Stage: FeatureStageExperimental,
FrontendOnly: true,
Owner: grafanaObservabilityTracesAndProfilingSquad,
Created: time.Date(2024, time.January, 2, 12, 0, 0, 0, time.UTC),
},
}
)