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:
| Stage | Description |
|---|---|
| Development | Experimental features under active development. May be incomplete or unstable. |
| Testing | Feature complete but undergoing testing. Usable but may contain bugs. |
| Stable | Production-ready features. Safe for all deployments. |
| Deprecated | Features scheduled for removal. Migrate away from these. |
Development
These features are experimental and under active development. Use only in development environments.
| Flag | Default | Description |
|---|---|---|
AG_GRID_TABLE_ENABLED | False | Enables Table V2 (AG Grid) viz plugin |
ALERT_REPORT_TABS | False | Enables experimental tabs UI for Alerts and Reports |
CHART_PLUGINS_EXPERIMENTAL | False | Enables experimental chart plugins |
CSV_UPLOAD_PYARROW_ENGINE | False | Experimental PyArrow engine for CSV parsing (may have issues with dates/nulls) |
DATASET_FOLDERS | False | Allow metrics and columns to be grouped into folders in the chart builder |
DATE_RANGE_TIMESHIFTS_ENABLED | False | Enable 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_TYPES | False | Enables advanced data type support |
ENABLE_CONTENT_LOCALIZATION | False | Enable localization of user-created content (dashboard titles, chart names, filter labels). When enabled, users can provide translations for content that will be displayed based on the viewer's UI language setting. Requires database migration for 'translations' column. (docs) |
ENABLE_EXTENSIONS | False | Enable Superset extensions for custom functionality without modifying core |
MATRIXIFY | False | Enable Matrixify feature for matrix-style chart layouts |
OPTIMIZE_SQL | False | Try to optimize SQL queries — for now only predicate pushdown is supported |
PRESTO_EXPAND_DATA | False | Expand nested types in Presto into extra columns/arrays. Experimental, doesn't work with all nested types. |
TABLE_V2_TIME_COMPARISON_ENABLED | False | Enable Table V2 time comparison feature |
TAGGING_SYSTEM | False | Enables the tagging system for organizing assets |
Testing
These features are complete but still being tested. They are usable but may have bugs.
| Flag | Default | Description |
|---|---|---|
ALERT_REPORTS | False | Enables Alerts and Reports functionality (docs) |
ALERT_REPORTS_FILTER | False | Enables filter functionality in Alerts and Reports |
ALERT_REPORT_SLACK_V2 | False | Enables Slack V2 integration for Alerts and Reports |
ALERT_REPORT_WEBHOOK | False | Enables webhook integration for Alerts and Reports |
ALLOW_FULL_CSV_EXPORT | False | Allow users to export full CSV of table viz type. Warning: Could cause server memory/compute issues with large datasets. |
AWS_DATABASE_IAM_AUTH | False | Enable 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_IMPERSONATION | False | Enable caching per impersonation key in datasources with user impersonation |
DATE_FORMAT_IN_EMAIL_SUBJECT | False | Allow users to optionally specify date formats in email subjects (docs) |
DYNAMIC_PLUGINS | False | Enable dynamic plugin loading |
ENABLE_DASHBOARD_DOWNLOAD_WEBDRIVER_SCREENSHOT | False | Generate screenshots (PDF/JPG) of dashboards using web driver. Depends on ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS. |
ENABLE_DASHBOARD_SCREENSHOT_ENDPOINTS | False | Enables endpoints to cache and retrieve dashboard screenshots via webdriver. Requires Celery and THUMBNAIL_CACHE_CONFIG. |
ENABLE_SUPERSET_META_DB | False | Allows 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_COST | False | Enable query cost estimation. Supported in Presto, Postgres, and BigQuery. Requires `cost_estimate_enabled: true` in database `extra` attribute. |
GLOBAL_ASYNC_QUERIES | False | Enable async queries for dashboards and Explore via WebSocket. Requires Redis 5.0+ and Celery workers. (docs) |
IMPERSONATE_WITH_EMAIL_PREFIX | False | When impersonating a user, use the email prefix instead of username |
PLAYWRIGHT_REPORTS_AND_THUMBNAILS | False | Replace Selenium with Playwright for reports and thumbnails. Supports deck.gl visualizations. Requires playwright pip package. |
RLS_IN_SQLLAB | False | Apply RLS rules to SQL Lab queries. Requires query parsing/manipulation. May break queries or allow RLS bypass. Use with care! |
SSH_TUNNELING | False | Allow users to enable SSH tunneling when creating a DB connection. DB engine must support SSH Tunnels. (docs) |
USE_ANALOGOUS_COLORS | False | Use analogous colors in charts |
Stable
These features are production-ready and safe to enable.
| Flag | Default | Description |
|---|---|---|
ALERTS_ATTACH_REPORTS | True | When enabled, alerts send email/slack with screenshot AND link. When disabled, alerts send only link; reports still send screenshot. |
ALLOW_ADHOC_SUBQUERY | False | Allow ad-hoc subqueries in SQL Lab |
CACHE_QUERY_BY_USER | False | Enable caching per user key for Superset cache |
CSS_TEMPLATES | True | Enables CSS Templates in Settings menu and dashboard forms |
DASHBOARD_RBAC | False | Role-based access control for dashboards (docs) |
DASHBOARD_VIRTUALIZATION | True | Enables dashboard virtualization for improved performance |
DASHBOARD_VIRTUALIZATION_DEFER_DATA | False | Supports simultaneous data and dashboard virtualization for backend performance |
DATAPANEL_CLOSED_BY_DEFAULT | False | Data panel closed by default in chart builder |
DRILL_BY | True | Enable drill-by functionality in charts |
DRUID_JOINS | False | Enable Druid JOINs (requires Druid version with JOIN support) |
EMBEDDABLE_CHARTS | True | Enable sharing charts with embedding |
EMBEDDED_SUPERSET | False | Enable embedded Superset functionality |
ENABLE_FACTORY_RESET_COMMAND | False | Enable factory reset CLI command |
ENABLE_TEMPLATE_PROCESSING | False | Enable Jinja templating in SQL queries |
ESCAPE_MARKDOWN_HTML | False | Escape HTML in Markdown components (rather than rendering it) |
FILTERBAR_CLOSED_BY_DEFAULT | False | Filter bar closed by default when opening dashboard |
FORCE_GARBAGE_COLLECTION_AFTER_EVERY_REQUEST | False | Force garbage collection after every request |
LISTVIEWS_DEFAULT_CARD_VIEW | False | Use card view as default in list views |
MENU_HIDE_USER_INFO | False | Hide user info in the navigation menu |
SLACK_ENABLE_AVATARS | False | Use Slack avatars for users. Requires adding slack-edge.com to TALISMAN_CONFIG. |
SQLLAB_BACKEND_PERSISTENCE | True | Enable SQL Lab backend persistence for query state |
SQLLAB_FORCE_RUN_ASYNC | False | Force SQL Lab to run async via Celery regardless of database settings |
THUMBNAILS | False | Exposes API endpoint to compute thumbnails (docs) |
Deprecated
These features are scheduled for removal. Plan to migrate away from them.
| Flag | Default | Description |
|---|---|---|
AVOID_COLORS_COLLISION | True | Avoid color collisions in charts by using distinct colors |
DRILL_TO_DETAIL | True | Enable drill-to-detail functionality in charts |
ENABLE_JAVASCRIPT_CONTROLS | False | Allow 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.