Skip to main content
Version: Next

Feature Flags

Superset uses feature flags to control the availability of features. Feature flags allow gradual rollout of new functionality and provide a way to enable experimental features.

To enable a feature flag, add it to your superset_config.py:

FEATURE_FLAGS = {
"ENABLE_TEMPLATE_PROCESSING": True,
}

Lifecycle​

Feature flags progress through lifecycle stages:

StageDescription
DevelopmentExperimental features under active development. May be incomplete or unstable.
TestingFeature complete but undergoing testing. Usable but may contain bugs.
StableProduction-ready features. Safe for all deployments.
DeprecatedFeatures scheduled for removal. Migrate away from these.

Development​

These features are experimental and under active development. Use only in development environments.

FlagDefaultDescription
AG_GRID_TABLE_ENABLEDFalseEnables Table V2 (AG Grid) viz plugin
ALERT_REPORT_TABSFalseEnables experimental tabs UI for Alerts and Reports
CHART_PLUGINS_EXPERIMENTALFalseEnables experimental chart plugins
CSV_UPLOAD_PYARROW_ENGINEFalseExperimental PyArrow engine for CSV parsing (may have issues with dates/nulls)
DATASET_FOLDERSFalseAllow metrics and columns to be grouped into folders in the chart builder
DATE_RANGE_TIMESHIFTS_ENABLEDFalseEnable support for date range timeshifts (e.g., "2015-01-03 : 2015-01-04") in addition to relative timeshifts (e.g., "1 day ago")
ENABLE_ADVANCED_DATA_TYPESFalseEnables advanced data type support
ENABLE_EXTENSIONSFalseEnable Superset extensions for custom functionality without modifying core
FAB_API_KEY_ENABLEDFalseEnable API key authentication via FAB SecurityManager When enabled, users can create/manage API keys in the User Info page
GRANULAR_EXPORT_CONTROLSFalseEnable granular export controls (can_export_data, can_export_image, can_copy_clipboard) instead of the single can_csv permission
MATRIXIFYFalseEnable Matrixify feature for matrix-style chart layouts
OPTIMIZE_SQLFalseTry to optimize SQL queries — for now only predicate pushdown is supported
PRESTO_EXPAND_DATAFalseExpand nested types in Presto into extra columns/arrays. Experimental, doesn't work with all nested types.
SEMANTIC_LAYERSFalseEnable semantic layers and show semantic views alongside datasets
TABLE_V2_TIME_COMPARISON_ENABLEDFalseEnable Table V2 time comparison feature
TAGGING_SYSTEMFalseEnables the tagging system for organizing assets

Testing​

These features are complete but still being tested. They are usable but may have bugs.

FlagDefaultDescription
ALERT_REPORTSFalseEnables Alerts and Reports functionality (docs)
ALERT_REPORTS_FILTERFalseEnables filter functionality in Alerts and Reports
ALERT_REPORT_SLACK_V2FalseEnables Slack V2 integration for Alerts and Reports
ALERT_REPORT_WEBHOOKFalseEnables webhook integration for Alerts and Reports
ALLOW_FULL_CSV_EXPORTFalseAllow users to export full CSV of table viz type. Warning: Could cause server memory/compute issues with large datasets.
AWS_DATABASE_IAM_AUTHFalseEnable AWS IAM authentication for database connections (Aurora, Redshift). Allows cross-account role assumption via STS AssumeRole. Security note: When enabled, ensure Superset's IAM role has restricted sts:AssumeRole permissions to prevent unauthorized access.
CACHE_IMPERSONATIONFalseEnable caching per impersonation key in datasources with user impersonation
DATE_FORMAT_IN_EMAIL_SUBJECTFalseAllow users to optionally specify date formats in email subjects (docs)
DYNAMIC_PLUGINSFalseEnable dynamic plugin loading
ENABLE_DASHBOARD_DOWNLOAD_WEBDRIVER_SCREENSHOTFalseGenerate screenshots (PDF/JPG) of dashboards using web driver. Depends on ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS.
ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTSFalseEnables endpoints to cache and retrieve dashboard screenshots via webdriver. Requires Celery and THUMBNAIL_CACHE_CONFIG.
ENABLE_SUPERSET_META_DBFalseAllows users to add a superset:// DB that can query across databases. Experimental with potential security/performance risks. See SUPERSET_META_DB_LIMIT. (docs)
ESTIMATE_QUERY_COSTFalseEnable query cost estimation. Supported in Presto, Postgres, and BigQuery. Requires `cost_estimate_enabled: true` in database `extra` attribute.
GLOBAL_ASYNC_QUERIESFalseEnable async queries for dashboards and Explore via WebSocket. Requires Redis 5.0+ and Celery workers. (docs)
IMPERSONATE_WITH_EMAIL_PREFIXFalseWhen impersonating a user, use the email prefix instead of username
PLAYWRIGHT_REPORTS_AND_THUMBNAILSFalseReplace Selenium with Playwright for reports and thumbnails. Supports deck.gl visualizations. Requires playwright pip package.
RLS_IN_SQLLABFalseApply RLS rules to SQL Lab queries. Requires query parsing/manipulation. May break queries or allow RLS bypass. Use with care!
SSH_TUNNELINGFalseAllow users to enable SSH tunneling when creating a DB connection. DB engine must support SSH Tunnels. (docs)
USE_ANALOGOUS_COLORSFalseUse analogous colors in charts

Stable​

These features are production-ready and safe to enable.

FlagDefaultDescription
ALERTS_ATTACH_REPORTSTrueWhen enabled, alerts send email/slack with screenshot AND link. When disabled, alerts send only link; reports still send screenshot.
ALLOW_ADHOC_SUBQUERYFalseAllow ad-hoc subqueries in SQL Lab
CACHE_QUERY_BY_USERFalseEnable caching per user key for Superset cache
CSS_TEMPLATESTrueEnables CSS Templates in Settings menu and dashboard forms
DASHBOARD_RBACFalseRole-based access control for dashboards (docs)
DASHBOARD_VIRTUALIZATIONTrueEnables dashboard virtualization for improved performance
DASHBOARD_VIRTUALIZATION_DEFER_DATAFalseSupports simultaneous data and dashboard virtualization for backend performance
DATAPANEL_CLOSED_BY_DEFAULTFalseData panel closed by default in chart builder
DISABLE_EMBEDDED_SUPERSET_LOGOUTFalseHide the logout button in embedded contexts (e.g., when using SSO in iframes) (docs)
DRILL_BYTrueEnable drill-by functionality in charts
DRUID_JOINSFalseEnable Druid JOINs (requires Druid version with JOIN support)
EMBEDDABLE_CHARTSTrueEnable sharing charts with embedding
EMBEDDED_SUPERSETFalseEnable embedded Superset functionality
ENABLE_FACTORY_RESET_COMMANDFalseEnable factory reset CLI command
ENABLE_TEMPLATE_PROCESSINGFalseEnable Jinja templating in SQL queries
ESCAPE_MARKDOWN_HTMLFalseEscape HTML in Markdown components (rather than rendering it)
FILTERBAR_CLOSED_BY_DEFAULTFalseFilter bar closed by default when opening dashboard
FORCE_GARBAGE_COLLECTION_AFTER_EVERY_REQUESTFalseForce garbage collection after every request
LISTVIEWS_DEFAULT_CARD_VIEWFalseUse card view as default in list views
MENU_HIDE_USER_INFOFalseHide user info in the navigation menu
SLACK_ENABLE_AVATARSFalseUse Slack avatars for users. Requires adding slack-edge.com to TALISMAN_CONFIG.
SQLLAB_BACKEND_PERSISTENCETrueEnable SQL Lab backend persistence for query state
SQLLAB_FORCE_RUN_ASYNCFalseForce SQL Lab to run async via Celery regardless of database settings
THUMBNAILSFalseExposes API endpoint to compute thumbnails (docs)

Deprecated​

These features are scheduled for removal. Plan to migrate away from them.

FlagDefaultDescription
AVOID_COLORS_COLLISIONTrueAvoid color collisions in charts by using distinct colors
DRILL_TO_DETAILTrueEnable drill-to-detail functionality in charts
ENABLE_JAVASCRIPT_CONTROLSFalseAllow JavaScript in chart controls. WARNING: XSS security vulnerability!

Adding New Feature Flags​

When adding a new feature flag to superset/config.py, include the following annotations:

# Description of what the feature does
# @lifecycle: development | testing | stable | deprecated
# @docs: https://superset.apache.org/docs/... (optional)
# @category: runtime_config | path_to_deprecation (optional, for stable flags)
"MY_NEW_FEATURE": False,

This documentation is auto-generated from the annotations in config.py.