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_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. |
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 |
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.