mirror of
https://github.com/grafana/grafana.git
synced 2024-11-26 02:40:26 -06:00
41e523bde7
* add deployment registry API cloud only * update versions * add feature flag endpoints * use helpers * merge main * update AllowSelfServie and re-run code gen * fix package name * add allowselfserve flag to payload * remove config * update list api to return the full registry including states * change enabled check * fix compile error * add feature toggle and split path in frontend * changes * with status * add more status/state * add back config thing * add back config thing * merge main * merge main * now on the /current api endpoint * now on the /current api endpoint * drop frontend changes * change group name to featuretoggle (singular) * use the same settings * now with patch * more common refs * more common refs * WIP actually do the webhook * fix comment * fewer imports * registe standalone * one less file * fix singular name --------- Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
1336 lines
54 KiB
Go
1336 lines
54 KiB
Go
// 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,
|
|
RequiresLicense: true,
|
|
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: FeatureStagePublicPreview,
|
|
Owner: grafanaExploreSquad,
|
|
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: "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: "cloudwatchNewRegionsHandler",
|
|
Description: "Refactor of /regions endpoint, no user-facing changes",
|
|
Stage: FeatureStageGeneralAvailability,
|
|
Expression: "true", // enabled by default
|
|
Owner: awsDatasourcesSquad,
|
|
AllowSelfServe: true,
|
|
Created: time.Date(2023, time.September, 25, 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: "emptyDashboardPage",
|
|
Description: "Enable the redesigned user interface of a dashboard page that includes no panels",
|
|
Stage: FeatureStageGeneralAvailability,
|
|
FrontendOnly: true,
|
|
Expression: "true", // enabled by default
|
|
Owner: grafanaDashboardsSquad,
|
|
AllowSelfServe: false,
|
|
HideFromAdminPage: true,
|
|
Created: time.Date(2023, time.March, 28, 12, 0, 0, 0, time.UTC),
|
|
},
|
|
{
|
|
Name: "disablePrometheusExemplarSampling",
|
|
Description: "Disable Prometheus exemplar sampling",
|
|
Stage: FeatureStageGeneralAvailability,
|
|
Owner: grafanaObservabilityMetricsSquad,
|
|
AllowSelfServe: true,
|
|
Created: time.Date(2022, time.December, 19, 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: "grafanaAPIServer",
|
|
Description: "Enable Kubernetes API Server for Grafana resources",
|
|
Stage: FeatureStageGeneralAvailability,
|
|
Expression: "true", // enabled by default
|
|
RequiresRestart: true,
|
|
Owner: grafanaAppPlatformSquad,
|
|
Created: time.Date(2023, time.July, 14, 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: "traceToProfiles",
|
|
Description: "Enables linking between traces and profiles",
|
|
Stage: FeatureStageExperimental,
|
|
FrontendOnly: true,
|
|
Owner: grafanaObservabilityTracesAndProfilingSquad,
|
|
Created: time.Date(2023, time.November, 1, 12, 0, 0, 0, time.UTC),
|
|
},
|
|
{
|
|
Name: "tracesEmbeddedFlameGraph",
|
|
Description: "Enables embedding a flame graph in traces",
|
|
Stage: FeatureStageExperimental,
|
|
FrontendOnly: true,
|
|
Owner: grafanaObservabilityTracesAndProfilingSquad,
|
|
Created: time.Date(2023, time.November, 2, 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",
|
|
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: FeatureStageExperimental,
|
|
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: FeatureStageExperimental,
|
|
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",
|
|
RequiresDevMode: true,
|
|
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
|
|
},
|
|
{
|
|
Name: "alertStateHistoryAnnotationsFromLoki",
|
|
Description: "Enable using Loki as the source for panel annotations generated by alert rules",
|
|
Stage: FeatureStageExperimental,
|
|
Owner: grafanaAlertingSquad,
|
|
HideFromAdminPage: true,
|
|
HideFromDocs: true,
|
|
RequiresRestart: true,
|
|
Created: time.Date(2023, time.November, 30, 12, 0, 0, 0, time.UTC),
|
|
},
|
|
{
|
|
// 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: FeatureStageExperimental,
|
|
Owner: grafanaAlertingSquad,
|
|
HideFromDocs: true,
|
|
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),
|
|
},
|
|
}
|
|
)
|