Hey all! I respectfully object to this change: --- 48 - Deprecate the DRILL_TO_DETAIL feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49592193> This proposal is to deprecate the DRILL_TO_DETAIL feature flag which is currently True by default. The feature is already being used in production environments and we believe it's not something admins would want to disable. --- Our underlying tables have up to 300 or 400 columns and many millions rows. Having this detailed table displayed does not make sense and I really do not want to expose it to our end users. In my opinion, there should be more instances with lots of data in their datasets who would have a similar “problem”.
Thanks for your consideration! Best wishes, Matti Toomes | Senior Business Consultant Valiton GmbH, ein BurdaSolutions Unternehmen Arabellastr. 23 D-81925 München email matti.too...@valiton.com<mailto:matti.too...@valiton.com> mobile +49 151 526 39422<tel:+4915152639422> fax +49 89 9250 1520<tel:+498992501520> www.valiton.com<http://www.valiton.com/> Amtsgericht München HRB 199017 | Ust-ID: DE213506145 Geschäftsführer: Ulrich Heckenberger und Gerhard Thomas This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited. Von: Michael S. Molina <michael.s.mol...@gmail.com> Datum: Donnerstag, 11. Januar 2024 um 15:22 An: dev@superset.apache.org <dev@superset.apache.org> Betreff: 4.0 breaking change proposals for consensus Hi all, Following our previous email <https://lists.apache.org/thread/ld2601pzoz5o198jf3rjmfrgw30tm98q> and according to our Release Process <https://github.com/apache/superset/wiki/Release-Process>, we’re sending the breaking change proposals for 4.0 to gather lazy consensus. We are seeking permission to merge these changes while the breaking change window is open on the repo. They might not all make it in, and those that are not completed before the window closes will be carried over as “pre-approved” for the subsequent major release (5.0). Each of these is seeking individual lazy consensus. If you object to any of these changes or wish for further clarification on any of them, please let us know which you would like to stop or discuss, and we can hash it out here on the list, on Slack, in Town Hall, etc. Each proposal is numbered, according to previous breaking change windows, to make sure they are unique. Please use this number when referencing a proposal. 35 - Remove /profile view from Superset <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=37381592> This proposal is to remove the Profile feature of Superset given that it's not actively maintained and not widely used. This feature is implemented using server-side rendering and would require a complete rewrite using React which we don't intend to do unless people perceive it as a valuable feature. The removal of this feature was already approved in 3.0 but we had a comment to re-submit the proposal for lazy consensus in 4.0 before completing the work. 47 - Deprecate the DASHBOARD_CROSS_FILTERS feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49592004> This proposal is to deprecate the DASHBOARD_CROSS_FILTERS feature flag which is currently True by default. The feature is already being used in production environments and we believe it's not something admins would want to disable. 48 - Deprecate the DRILL_TO_DETAIL feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49592193> This proposal is to deprecate the DRILL_TO_DETAIL feature flag which is currently True by default. The feature is already being used in production environments and we believe it's not something admins would want to disable. 49 - Deprecate the ENABLE_JAVASCRIPT_CONTROLS feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49591887> This proposal is to deprecate the ENABLE_JAVASCRIPT_CONTROLS feature flag which is used to enable programmers to customize certain charts (like the geospatial ones) by inputting javascript in controls. This exposes an XSS security vulnerability. 50 - Deprecate the KV_STORE feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49557695> This proposal is to deprecate 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. We intend to use the permalink feature to implement this use case before 5.0 and that's why we are deprecating the feature flag now. 51 - Drop support for SQLite metadata database <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=40454778> This proposal is to materialize SIP-33 <https://github.com/apache/superset/issues/8874> and remove SQLite support for metadata databases. 52 - Make enum naming consistent (PascalCase on JS/TS, UPPERCASE on Python) <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49591728> This proposal is to make our enum naming consistent and adherent to best practices for each language. More specifically, applying PascalCase for JS/TS enums and UPPERCASE for Python enums. This might impact configuration files such as config.py. 53 - Manage all country maps via the Jupyter notebook, and enforce this behavior <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=48006012> Right now we have maps that are managed/built by a Jupyter notebook. There are several maps that have appeared or been modified outside of this workflow. With this change, we will re-generate all applicable maps by adding them to the notebook, and outputting updated maps to the repo. This will make it easier to add more countries, dynamically add them to the country map plugin, and update map regions periodically. 54 - Migrate and remove the legacy Heatmap chart <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=37381527> The ECharts version of the Heatmap chart was introduced by apache/superset#25353 <https://github.com/apache/superset/pull/25353> as part of our efforts to complete SIP-50 <https://github.com/apache/superset/issues/10418>. This proposal is to automatically migrate all legacy Heatmap charts to ECharts and remove legacy code. 55 - Migrate and remove the legacy Sunburst chart <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=37381585> The ECharts version of the Sunburst chart was introduced by apache/superset#22833 <https://github.com/apache/superset/pull/22833> as part of our efforts to complete SIP-50 <https://github.com/apache/superset/issues/10418>. This proposal is to automatically migrate all legacy Sunburst charts to ECharts and remove legacy code. 56 - Remove the old redirect (R) endpoint and its associated assets <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=48593705> This proposal removes the deprecated Redirect API that supported short URLs (/r) and the url metadata table used to store them that was used before the permalink feature. Users lost the ability to generate R links ~1.5 years ago which seems sufficient time to remove the endpoint. It looks like we forgot to officially deprecate the endpoint (config.py) in 3.0 but we think proposing the removal for lazy consensus now is sufficient given the elapsed amount of time. apache/superset#19078 <https://github.com/apache/superset/pull/19078> has the following message in UPDATING.md which is more relevant from a communication standpoint as opposed to the # deprecated comment in config.py: 19078 <https://github.com/apache/superset/pull/19078>: Creation of old shorturl links has been deprecated in favor of a new permalink feature that solves the long url problem (old shorturls will still work, though!). By default, new permalinks use UUID4 as the key. However, to use serial ids similar to the old shorturls, add the following to your superset_config.py: PERMALINK_KEY_TYPE = "id". 57 - Remove the deprecated CLIENT_CACHE feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116513> This proposal is to remove the CLIENT_CACHE feature flag which was deprecated in 3.0 and was used to request chart data using GET requests. The previous value of the feature flag was False and now the feature will be permanently removed. 58 - Remove the deprecated DASHBOARD_CACHE feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116576> This proposal is to remove the DASHBOARD_CACHE feature flag which was deprecated in 3.0 and was used to cache dashboard APIs. Unfortunately, the feature proved to be error-prone, generating many inconsistencies when interacting with dashboard resources. The previous value of the feature flag was False and now the feature will be permanently removed. 59 - Remove the deprecated DASHBOARD_FILTERS_EXPERIMENTAL feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116603> This proposal is to remove the DASHBOARD_FILTERS_EXPERIMENTAL feature flag which was deprecated in 3.0 and was used to enable an experimental filter type called Group By. Given that the filter type is not actively supported and it's very similar to the Drill By feature, we are proposing to remove it. The previous value of the feature flag was False and now the feature will be permanently removed. 60 - Remove the deprecated DASHBOARD_NATIVE_FILTERS feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116629> This proposal is to remove the DASHBOARD_NATIVE_FILTERS feature flag which was deprecated in 3.0. It was used for the development of native filters that replaced the filter boxes. The previous value of the feature flag was True and now the feature will be permanently enabled. (edited) 10:57 <https://apache-superset.slack.com/archives/D02P5B8JBC3/p1704981479633039> 61 - Remove the deprecated DASHBOARD_NATIVE_FILTERS_SET feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116643> This proposal is to remove the Filters Set feature including the deprecated DASHBOARD_NATIVE_FILTERS_SET feature flag and all related API endpoints. The feature will be permanently removed as it was not being actively maintained, it was not widely used, and it was full of bugs. We also considered that if we were to provide a similar feature, it would be better to re-implement it from scratch given the amount of technical debt that the current implementation has. The previous value of the feature flag was False and now the feature will be permanently removed. 62 - Remove the deprecated DISABLE_DATASET_SOURCE_EDIT feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49121400> This proposal is to remove the DISABLE_DATASET_SOURCE_EDIT feature flag which was deprecated in 3.0 and was used to control access to datasource source editing. This control was replaced by security permissions. The previous value of the feature flag was False and now the feature will be permanently removed. 63 - Remove the deprecated ENABLE_EXPLORE_DRAG_AND_DROP feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116687> This proposal is to remove the ENABLE_EXPLORE_DRAG_AND_DROP feature flag which was deprecated in 3.0 and was used to enable drag and drop on Explore controls. The previous value of the feature flag was True and now the feature will be permanently enabled. 64 - Remove the deprecated ENABLE_EXPLORE_JSON_CSRF_PROTECTION feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116726> This proposal is to remove the ENABLE_EXPLORE_JSON_CSRF_PROTECTION feature flag which was deprecated in 3.0 and was used to enforce CSRF protection on query requests to the explore_json endpoint. This is not needed anymore as the application has other mechanisms for this type of control. The previous value of the feature flag was False and now the feature will be permanently removed. 65 - Remove the deprecated ENABLE_TEMPLATE_REMOVE_FILTERS feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116757> This proposal is to remove the ENABLE_TEMPLATE_REMOVE_FILTERS feature flag which was deprecated in 3.0 and was used to control how Jinja filters were parsed <https://github.com/apache/superset/issues/13943> by Superset. The previous value of the feature flag was True and now the feature will be permanently enabled. 66 - Remove the deprecated GENERIC_CHART_AXES feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116768> This proposal is to remove the GENERIC_CHART_AXES feature flag which was deprecated in 3.0 and was used to develop support for charts with non-temporal x-axis. The previous value of the feature flag was True and now the feature will be permanently enabled. 67 - Remove the deprecated REMOVE_SLICE_LEVEL_LABEL_COLORS feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116789> This proposal is to remove the REMOVE_SLICE_LEVEL_LABEL_COLORS feature flag which was deprecated in 3.0. The feature flag was used to remove color-related attributes from a chart's form data to reduce payload when the chart was loaded as part of the dashboard initialization. These attributes are not loaded anymore making this optimization obsolete. The previous value of the feature flag was False and now the feature will be permanently removed. 68 - Remove the deprecated VERSIONED_EXPORT feature flag <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49116804> This proposal is to remove the VERSIONED_EXPORT feature flag which was deprecated in 3.0 and was used to develop support for versioned import/export files. The previous value of the feature flag was True and now the feature is permanently enabled. 69 - Set the DASHBOARD_VIRTUALIZATION feature flag to True by default <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49592036> This proposal is to set the DASHBOARD_VIRTUALIZATION feature flag to True by default. This feature was introduced by apache/superset#21438 <https://github.com/apache/superset/pull/21438> and will enable virtualization when rendering a dashboard's charts in an attempt to reduce the number of elements (DOM nodes) rendered at once. This is especially useful for large dashboards. 70 - Set the DRILL_BY feature flag to True by default <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49592172> This proposal is to set the DRILL_BY feature flag to True by default. We have been testing the feature in the last months and we believe it's ready for prime time. Check https://preset.io/blog/drill-down-and-drill-by/ for more information about the feature. 71 - Set the PLAYWRIGHT_REPORTS_AND_THUMBNAILS feature flag to True by default <https://github.com/orgs/apache/projects/292/views/1?pane=issue&itemId=49592618> This proposal is to set the PLAYWRIGHT_REPORTS_AND_THUMBNAILS feature flag to True by default. The feature was introduced by apache/superset#25247 <https://github.com/apache/superset/pull/25247> and uses Playwright instead of Selenium to take screenshots of dashboards and charts when preparing reports and thumbnails. The main motivation for this change is to correctly support deck.gl <http://deck.gl/> charts as described by SIP-98 <https://github.com/apache/superset/issues/24948>. More details about the proposals are available on the 4.0 project board <https://github.com/orgs/apache/projects/292>. Best regards, Michael S. Molina