From d0f2c4e4f5f2bfe3cd56eb83f8de4a7e5dd3612a Mon Sep 17 00:00:00 2001 From: "Michael S. Molina" Date: Wed, 10 Jan 2024 10:47:28 -0300 Subject: [PATCH] chore: Deprecates the KV_STORE feature flag --- RESOURCES/FEATURE_FLAGS.md | 2 +- UPDATING.md | 2 ++ superset/config.py | 2 +- superset/views/key_value.py | 4 +++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/RESOURCES/FEATURE_FLAGS.md b/RESOURCES/FEATURE_FLAGS.md index d029ca6c3cbd6..75fdc0b9f14e7 100644 --- a/RESOURCES/FEATURE_FLAGS.md +++ b/RESOURCES/FEATURE_FLAGS.md @@ -28,7 +28,6 @@ These features are considered **unfinished** and should only be used on developm [//]: # "PLEASE KEEP THE LIST SORTED ALPHABETICALLY" - ENABLE_ADVANCED_DATA_TYPES -- KV_STORE - PRESTO_EXPAND_DATA - SHARE_QUERIES_VIA_KV_STORE - TAGGING_SYSTEM @@ -96,5 +95,6 @@ These features flags currently default to True and **will be removed in a future - ENABLE_EXPLORE_JSON_CSRF_PROTECTION - ENABLE_TEMPLATE_REMOVE_FILTERS - GENERIC_CHART_AXES +- KV_STORE - REMOVE_SLICE_LEVEL_LABEL_COLORS - VERSIONED_EXPORT diff --git a/UPDATING.md b/UPDATING.md index b5c48924b727e..120ae6fd57500 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -27,6 +27,8 @@ assists people when migrating to a new version. - [26034](https://github.com/apache/superset/issues/26034): Fixes a problem where numeric x-axes were being treated as categorical values. As a consequence of that, the way labels are displayed might change given that ECharts has a different treatment for numerical and categorical values. To revert to the old behavior, users need to manually convert numerical columns to text so that they are treated as categories. Check https://github.com/apache/superset/issues/26159 for more details. - [24657](https://github.com/apache/superset/pull/24657): Bumps the cryptography package to augment the OpenSSL security vulnerability. +- [26450](https://github.com/apache/superset/pull/26450): Deprecates the `KV_STORE` feature flag and its related assets such as the API endpoint and `keyvalue` table. The main dependency of this feature is the `SHARE_QUERIES_VIA_KV_STORE` feature flag which allows sharing SQL Lab queries without the necessity of saving the query. Our intention is to use the permalink feature to implement this use case before 5.0 and that's why we are deprecating the feature flag now. + ### Breaking Changes ### Potential Downtime diff --git a/superset/config.py b/superset/config.py index 348baef5454af..08f4a0dcf3cb8 100644 --- a/superset/config.py +++ b/superset/config.py @@ -427,7 +427,7 @@ class D3Format(TypedDict, total=False): # geospatial ones) by inputting javascript in controls. This exposes # an XSS security vulnerability "ENABLE_JAVASCRIPT_CONTROLS": False, - "KV_STORE": False, + "KV_STORE": False, # deprecated # 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. diff --git a/superset/views/key_value.py b/superset/views/key_value.py index 539b4d0c0820d..ade97cc8de81e 100644 --- a/superset/views/key_value.py +++ b/superset/views/key_value.py @@ -25,7 +25,7 @@ from superset.models import core as models from superset.superset_typing import FlaskResponse from superset.utils import core as utils -from superset.views.base import BaseSupersetView, json_error_response +from superset.views.base import BaseSupersetView, deprecated, json_error_response class KV(BaseSupersetView): @@ -44,6 +44,7 @@ def ensure_enabled(self) -> None: @event_logger.log_this @has_access_api @expose("/store/", methods=("POST",)) + @deprecated(eol_version="4.0.0") def store(self) -> FlaskResponse: try: value = request.form.get("data") @@ -57,6 +58,7 @@ def store(self) -> FlaskResponse: @event_logger.log_this @has_access_api @expose("//", methods=("GET",)) + @deprecated(eol_version="4.0.0") def get_value(self, key_id: int) -> FlaskResponse: try: kv = db.session.query(models.KeyValue).filter_by(id=key_id).scalar()