diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8231755e4..ffad36eb5 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -578,6 +578,8 @@ export enum FeatureFlag {
those specified under FEATURE_FLAGS in `superset_config.py`. For example, `DEFAULT_FEATURE_FLAGS = { 'FOO': True, 'BAR': False }` in `superset/config.py` and `FEATURE_FLAGS = { 'BAR': True, 'BAZ': True }` in `superset_config.py` will result
in combined feature flags of `{ 'FOO': True, 'BAR': True, 'BAZ': True }`.
+The current status of the usability of each flag (stable vs testing, etc) can be found in `RESOURCES/FEATURE_FLAGS.md`.
+
## Git Hooks
Superset uses Git pre-commit hooks courtesy of [pre-commit](https://pre-commit.com/). To install run the following:
diff --git a/README.md b/README.md
index 4e08a1c2e..6aaebb811 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ A modern, enterprise-ready business intelligence web application.
[**Get Involved**](#get-involved) |
[**Contributor Guide**](#contributor-guide) |
[**Resources**](#resources) |
-[**Organizations Using Superset**](INTHEWILD.md)
+[**Organizations Using Superset**](RESOURCES/INTHEWILD.md)
## Screenshots & Gifs
@@ -140,7 +140,7 @@ Want to add support for your datastore or data engine? Read more [here](https://
* Ask and answer questions on [StackOverflow](https://stackoverflow.com/questions/tagged/apache-superset) using the **apache-superset** tag
* [Join our community's Slack](https://join.slack.com/t/apache-superset/shared_invite/zt-l5f5e0av-fyYu8tlfdqbMdz_sPLwUqQ)
- and please read our [Slack Community Guidelines](CODE_OF_CONDUCT.md#slack-community-guidelines)
+ and please read our [Slack Community Guidelines](https://github.com/apache/superset/blob/master/CODE_OF_CONDUCT.md#slack-community-guidelines)
* [Join our dev@superset.apache.org Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
diff --git a/RESOURCES/FEATURE_FLAGS.md b/RESOURCES/FEATURE_FLAGS.md
new file mode 100644
index 000000000..47958a718
--- /dev/null
+++ b/RESOURCES/FEATURE_FLAGS.md
@@ -0,0 +1,65 @@
+
+# Superset Feature Flags
+This is a list of the current Superset optional features. See config.py for default values. These features can be turned on/off by setting your preferred values in superset_config.py to True/False respectively
+
+## In Development
+These features are considered **unfinished** and should only be used on development environments.
+
+- CLIENT_CACHE
+- DASHBOARD_CACHE
+- DASHBOARD_NATIVE_FILTERS_SET
+- DASHBOARD_RBAC
+- DISABLE_DATASET_SOURCE_EDIT
+- ENABLE_EXPLORE_JSON_CSRF_PROTECTION
+- KV_STORE
+- PRESTO_EXPAND_DATA
+- REMOVE_SLICE_LEVEL_LABEL_COLORS
+- SHARE_QUERIES_VIA_KV_STORE
+- TAGGING_SYSTEM
+
+## In Testing
+These features are **finished** but currently being tested. They are usable, but may still contain some bugs.
+
+- ALERT_REPORTS: [(docs)](https://superset.apache.org/docs/installation/alerts-reports)
+- DYNAMIC_PLUGINS: [(docs)](https://superset.apache.org/docs/installation/running-on-kubernetes)
+- DASHBOARD_NATIVE_FILTERS
+- GLOBAL_ASYNC_QUERIES [(docs)](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries)
+- OMNIBAR
+- VERSIONED_EXPORT
+
+## Stable
+These features flags are **safe for production** and have been tested.
+
+- DASHBOARD_CROSS_FILTERS
+- ESCAPE_MARKDOWN_HTML
+- ENABLE_TEMPLATE_PROCESSING
+- LISTVIEWS_DEFAULT_CARD_VIEW
+- ROW_LEVEL_SECURITY
+- SCHEDULED_QUERIES [(docs)](https://superset.apache.org/docs/installation/alerts-reports)
+- SQL_VALIDATORS_BY_ENGINE [(docs)](https://superset.apache.org/docs/installation/sql-templating)
+- SQLLAB_BACKEND_PERSISTENCE
+- THUMBNAILS [(docs)](https://superset.apache.org/docs/installation/cache)
+
+## Deprecated Flags
+These features flags currently default to True and **will be removed in a future major release**. For this current release you can turn them off by setting your config to False, but it is advised to remove or set these flags in your local configuration to **True** so that you do not experience any unexpected changes in a future release.
+
+- ALLOW_DASHBOARD_DOMAIN_SHARDING
+- DISPLAY_MARKDOWN_HTML
+- ENABLE_REACT_CRUD_VIEWS
diff --git a/INTHEWILD.md b/RESOURCES/INTHEWILD.md
similarity index 100%
rename from INTHEWILD.md
rename to RESOURCES/INTHEWILD.md
diff --git a/docs/installation.rst b/docs/installation.rst
index e28311699..f13077634 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -1575,17 +1575,7 @@ You can enable or disable features with flag from ``superset_config.py``:
'PRESTO_EXPAND_DATA': False,
}
-Here is a list of flags and descriptions:
-
-* ENABLE_EXPLORE_JSON_CSRF_PROTECTION
-
- * For some security concerns, you may need to enforce CSRF protection on all query request to explore_json endpoint. In Superset, we use `flask-csrf `_ add csrf protection for all POST requests, but this protection doesn't apply to GET method.
-
- * When ENABLE_EXPLORE_JSON_CSRF_PROTECTION is set to true, your users cannot make GET request to explore_json. The default value for this feature False (current behavior), explore_json accepts both GET and POST request. See `PR 7935 `_ for more details.
-
-* PRESTO_EXPAND_DATA
-
- * When this feature is enabled, nested types in Presto will be expanded into extra columns and/or arrays. This is experimental, and doesn't work with all nested types.
+A current list of feature flags can be found in `RESOURCES/FEATURE_FLAGS.md`
SIP-15
diff --git a/docs/src/pages/community.tsx b/docs/src/pages/community.tsx
index fe7afa400..01cab3495 100644
--- a/docs/src/pages/community.tsx
+++ b/docs/src/pages/community.tsx
@@ -51,7 +51,7 @@ const links = [
'join our monthly virtual meetups and register for any upcoming events',
],
[
- 'https://github.com/apache/superset/blob/master/INTHEWILD.md',
+ 'https://github.com/apache/superset/blob/master/RESOURCES/INTHEWILD.md',
'Organizations',
'a list of some of the organizations using Superset in production',
],
diff --git a/docs/src/pages/docs/installation/configuring.mdx b/docs/src/pages/docs/installation/configuring.mdx
index 52c80b6e6..a8be73032 100644
--- a/docs/src/pages/docs/installation/configuring.mdx
+++ b/docs/src/pages/docs/installation/configuring.mdx
@@ -192,17 +192,7 @@ DEFAULT_FEATURE_FLAGS = {
}
```
-Here is a list of flags and descriptions:
-
-- `ENABLE_EXPLORE_JSON_CSRF_PROTECTION`: For some security concerns, you may need to enforce CSRF
- protection on all query request to the `explore_json` endpoint. When
- `ENABLE_EXPLORE_JSON_CSRF_PROTECTION` is set to true, your users cannot make GET request to
- `explore_json`. The default value for this feature is `False` and `explore_json` will accept both
- GET and POST request. See [PR 7935](https://github.com/apache/superset/pull/7935) for
- more details.
-
-- `PRESTO_EXPAND_DATA`: When this feature is enabled, nested types in Presto will be expanded into
- extra columns and / or arrays. This is experimental, and doesn’t work with all nested types.
+A current list of feature flags can be found in `RESOURCES/FEATURE_FLAGS.md`
### SIP 15
diff --git a/docs/src/pages/docs/introduction.mdx b/docs/src/pages/docs/introduction.mdx
index c8953f267..17ac00dbe 100644
--- a/docs/src/pages/docs/introduction.mdx
+++ b/docs/src/pages/docs/introduction.mdx
@@ -56,4 +56,4 @@ production environment inside Kubernetes and serves 600+ daily active users view
a day.
You can find a partial list of industries and companies embracing Superset
-[on this page in GitHub](https://github.com/apache/superset/blob/master/INTHEWILD.md).
+[on this page in GitHub](https://github.com/apache/superset/blob/master/RESOURCES/INTHEWILD.md).
diff --git a/superset/config.py b/superset/config.py
index 2b72e0177..5c1387cfc 100644
--- a/superset/config.py
+++ b/superset/config.py
@@ -306,9 +306,19 @@ DEFAULT_FEATURE_FLAGS: Dict[str, bool] = {
"CLIENT_CACHE": False,
"DISABLE_DATASET_SOURCE_EDIT": False,
"DYNAMIC_PLUGINS": False,
+ # For some security concerns, you may need to enforce CSRF protection on
+ # all query request to explore_json endpoint. In Superset, we use
+ # `flask-csrf `_ add csrf protection
+ # for all POST requests, but this protection doesn't apply to GET method.
+ # When ENABLE_EXPLORE_JSON_CSRF_PROTECTION is set to true, your users cannot
+ # make GET request to explore_json. explore_json accepts both GET and POST request.
+ # See `PR 7935 `_ for more details.
"ENABLE_EXPLORE_JSON_CSRF_PROTECTION": False,
"ENABLE_TEMPLATE_PROCESSING": False,
"KV_STORE": False,
+ # When this feature is enabled, nested types in Presto will be
+ # expanded into extra columns and/or arrays. This is experimental,
+ # and doesn't work with all nested types.
"PRESTO_EXPAND_DATA": False,
# Exposes API endpoint to compute thumbnails
"THUMBNAILS": False,