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
MOBILE_CONSUMPTION_MODEFalseServe a consumption-only mobile experience (dashboards, dashboard list, and home page) on small screens; other views show a "not supported on mobile" screen. Authoring features are hidden on mobile when enabled.
OPTIMIZE_SQLFalseTry to optimize SQL queries — for now only predicate pushdown is supported
PARTITION_FILTER_MAPPINGFalseConfigure and validate a mapping from a dataset's business column onto its physical partition column, so engines that require an explicit partition predicate can prune. For now this only stores and validates the mapping; no query consumer emits the mirrored predicate yet.
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

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_REPORTS_RETRYFalseEnables automatic retry functionality for failed report executions
ALERT_REPORT_SLACK_V2TrueEnables Slack V2 integration for Alerts and Reports. Defaults to True; the legacy Slack v1 path is deprecated and will be removed in the next major release. Operators must grant the Slack bot both the `channels:read` and `groups:read` scopes so existing v1 recipients can be auto-upgraded on their next send. Without those scopes, file uploads fail (Slack retired the `files.upload` endpoint in 2025) and only text-only `chat_postMessage` sends will continue to work via the legacy path.
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.
ASSIGN_CREATOR_GROUPS_AS_VIEWERSFalseShare a newly created dashboard or chart read-only with every group its creator belongs to, unless the create payload names viewers explicitly. Requires ENABLE_VIEWERS. Narrows access: an asset with no viewers falls back to datasource permissions; one with viewers is limited to its editors and viewers, and dashboards must also be published before those viewers gain access.
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)
ENABLE_VIEWERSFalseSubject-based viewer access control for dashboards and charts. When enabled, resources can have explicit viewer Subject assignments.
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
RLS_IN_SQLLABFalseApply RLS rules to SQL Lab queries. Requires query parsing/manipulation. May break queries or allow RLS bypass. Use with care!
SOFT_DELETETrueTemporary rollout / kill-switch gate for soft delete (off = legacy hard delete). An emergency stop, not a clean rollback: flipping ON->OFF resurrects already-soft-deleted rows. Retained through this release as the move-back lever; removed (along with its two gate points — BaseDAO.delete routing and the do_orm_execute visibility listener) once post-flip confidence is established.
SSH_TUNNELINGFalseAllow users to enable SSH tunneling when creating a DB connection. DB engine must support SSH Tunnels. (docs)
TAGGING_SYSTEMTrueEnables the tagging system for organizing assets
USE_ANALOGOUS_COLORSFalseUse analogous colors in charts
VERSION_HISTORYTrueEnables the version history panel on Explore and Dashboard pages. History only accrues while ``ENABLE_VERSIONING_CAPTURE`` is also on; with capture off the panel renders empty or stale history, so the two ship with matching defaults and should be changed together.

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_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
DRILL_TO_DETAILTrueEnable drill-to-detail functionality in charts

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.