This is an automated email from the ASF dual-hosted git repository. michaelsmolina pushed a commit to branch 4.0 in repository https://gitbox.apache.org/repos/asf/superset.git
commit 6a21f6da3de3b8def599a66f9722ab11d61c4eac Author: Michael S. Molina <[email protected]> AuthorDate: Mon Apr 1 15:55:41 2024 -0300 chore: Adds the 4.0 release notes (#27441) Co-authored-by: John Bodley <[email protected]> Co-authored-by: Sam Firke <[email protected]> (cherry picked from commit ca47717eb0c35c1e56fa2fc4f0dee16dec203bf0) --- RELEASING/release-notes-4-0/README.md | 151 +++++++++++++++++++++ .../release-notes-4-0/media/alert-modal-1.png | Bin 0 -> 156064 bytes .../release-notes-4-0/media/alert-modal-2.png | Bin 0 -> 146949 bytes .../release-notes-4-0/media/alert-modal-3.png | Bin 0 -> 158396 bytes .../release-notes-4-0/media/dashboard-dnd-1.png | Bin 0 -> 626066 bytes .../release-notes-4-0/media/dashboard-dnd-2.png | Bin 0 -> 451634 bytes RELEASING/release-notes-4-0/media/explore-dnd.png | Bin 0 -> 640684 bytes RELEASING/release-notes-4-0/media/sunburst.png | Bin 0 -> 383032 bytes RELEASING/release-notes-4-0/media/tags-1.png | Bin 0 -> 273468 bytes RELEASING/release-notes-4-0/media/tags-2.png | Bin 0 -> 301495 bytes 10 files changed, 151 insertions(+) diff --git a/RELEASING/release-notes-4-0/README.md b/RELEASING/release-notes-4-0/README.md new file mode 100644 index 0000000000..d5b5b609e1 --- /dev/null +++ b/RELEASING/release-notes-4-0/README.md @@ -0,0 +1,151 @@ +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +# Release Notes for Superset 4.0.0 + +4.0.0 brings a plethora of exciting changes to Superset. We have introduced several breaking changes to improve the overall architecture and scalability of our codebase. These changes may require some code updates, but they are designed to enhance performance and maintainability in the long run. We have also upgraded various dependencies to their latest versions and deprecated certain features that are no longer aligned with our long-term roadmap. We encourage all developers to carefully [...] + +Here are some of the highlights of this release. + +### Alerts and Reports modal redesign + +The Alerts and Reports modal has been [redesigned](https://github.com/apache/superset/discussions/25729) to improve the user experience and make it more intuitive. The new design has the following goals: + +- Declutter the interface by providing a cleaner, more organized layout +- Create a linear setup process with the necessary options in a step-by-step manner to make alert/report setup more intuitive +- Prepare the interface for additional features that will be introduced in future releases, like the ability to pre-filter a dashboard being sent. + +<div> + <img src="media/alert-modal-1.png" alt="Image" width="33%"> + <img src="media/alert-modal-2.png" alt="Image" width="33%"> + <img src="media/alert-modal-3.png" alt="Image" width="33%"> +</div> + +### Tags + +Tags are available using the `TAGGING_SYSTEM` feature flag. They address many of the [requests made by the community](https://github.com/apache/superset/discussions/19194) and aim to make it easier to organize and curate charts, dashboards, and saved queries, allowing for effortless data discovery and collaboration within an organization. Users can create flexible and customizable tags for each piece of content, enabling different ways of organizing assets. Programmatic access to tag-rel [...] + +<div> + <img src="media/tags-1.png" alt="Image" width="100%"> + <img src="media/tags-2.png" alt="Image" width="100%"> +</div> + +### New CHANGELOG format + +We changed the structure of the `CHANGELOG.md` file in [#26800](https://github.com/apache/superset/pull/26800) to better organize the contents of each release and also to deal with GitHub size limitations when displaying the file. Now every release will have its own file at `CHANGELOG/<version>.md`. The main `CHANGELOG.md` file is now an index with links to all releases. + +### Improved drag and drop experience when editing a dashboard + +When a component was being dragged towards the edge of the tab container or the row/column containers, multiple drop indicators were often displayed. This created confusion about the exact insertion point of the element. To fix this, we built in [#26699](https://github.com/apache/superset/pull/26699) and [#26313](https://github.com/apache/superset/pull/26313) a distinct, non-conflicting area for the drop zone, which is highlighted during the dragging process to clearly indicate where the [...] + +<div> + <img src="media/dashboard-dnd-1.png" alt="Image" width="100%"> + <img src="media/dashboard-dnd-2.png" alt="Image" width="100%"> +</div> + +### Improved drag and drop experience when editing a chart + +Now, during dragging, all droppable zones are highlighted, with distinct colors indicating available and unavailable drop locations. This enhancement clarifies potential drop points and helps avoid inadvertent placements in invalid areas. The update also aligns the drag-over feedback with the dashboard's drag-and-drop modifications, ensuring a uniform and enhanced user experience. + + + +### Dropping support for 3.0.X versions + +In accordance with our [release process](https://github.com/apache/superset/wiki/Release-Process), we are dropping support for the 3.0.X versions. As a result, we will no longer be providing bug fixes for these versions. We strongly recommend that all users upgrade to the latest version to take advantage of the newest features and bug fixes. Moving forward, the supported versions will be 3.1.X and 4.0.X. Bug fixes will continue to be backported to 3.1.X until the next minor release. For [...] + +### Feature flag changes + +Following our 4.0 proposals, the following feature flags were removed, i.e., the feature was permanently enabled or removed. + +- `VERSIONED_EXPORT` +- `DASHBOARD_FILTERS_EXPERIMENTAL` +- `ENABLE_EXPLORE_JSON_CSRF_PROTECTION` +- `ENABLE_TEMPLATE_REMOVE_FILTERS` +- `REMOVE_SLICE_LEVEL_LABEL_COLORS` +- `CLIENT_CACHE` +- `DASHBOARD_CACHE` +- `DASHBOARD_NATIVE_FILTERS_SET` +- `ENABLE_EXPLORE_DRAG_AND_DROP` +- `DISABLE_DATASET_SOURCE_EDIT` +- `DASHBOARD_NATIVE_FILTERS` +- `GENERIC_CHART_AXES` + +The following feature flags were deprecated: + +- `DASHBOARD_CROSS_FILTERS` +- `ENABLE_JAVASCRIPT_CONTROLS` +- `KV_STORE` + +The following feature flags were enabled by default: + +- `DASHBOARD_VIRTUALIZATION` +- `DRILL_BY` + +### Removed features + +As part of the 4.0 approved initiatives, the following features were removed from Superset: + +- Filter Box: [#26328](https://github.com/apache/superset/pull/26328) removed the Filter Box code and its associated dependencies `react-select` and `array-move`. It also removed the `DeprecatedSelect` and `AsyncSelect` components that were exclusively used by filter boxes. Existing filter boxes will be automatically migrated to native dashboard filters. + +- Filter Sets: [#26369](https://github.com/apache/superset/pull/26369) removed the Filters Set feature including the deprecated `DASHBOARD_NATIVE_FILTERS_SET` feature flag and all related API endpoints. The feature is 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 impl [...] + +- Profile: [#26462](https://github.com/apache/superset/pull/26462) removed the Profile feature given that it was not actively maintained nor widely used. + +- Redirect API: [#26377](https://github.com/apache/superset/pull/26377) removed 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 API. + +### Business logic improvements + +As part of [[SIP-99] Proposal for correctly handling business logic](https://github.com/apache/superset/issues/25048) (specifically [SIP-99A](https://github.com/apache/superset/issues/25107) and [SIP-99B](https://github.com/apache/superset/issues/25108)), this release contains many improvements to the handling of business logic in Superset, specifically related to SQLAlchemy sessions and transactions. The goal of these efforts is to simplify the code, improve code quality, ensure a consi [...] + +### All country maps are now managed via Jupyter Notebook + +In this release we made updates to the Jupyter Notebook to ensure reliable execution by removing deprecated methods, adding new countries, including missing maps, and fixing filename inconsistencies. This will make it easier to add more countries, dynamically add them to the country map plugin, and update map regions periodically. You can check [#26300](https://github.com/apache/superset/pull/26300) for more details. + +### Sunburst chart migrated to ECharts + +The ECharts version of the Sunburst chart was introduced by [#22833](https://github.com/apache/superset/pull/22833) as part of our efforts to complete [SIP-50](https://github.com/apache/superset/issues/10418). In 4.0, legacy Sunburst charts are [automatically migrated](https://github.com/apache/superset/pull/26350) to ECharts and the legacy version was removed. + + + +### Some cool stats + +- ~15K lines of code were removed by PRs related to 4.0 proposals +- We reduced the number of NPM packages vulnerabilities by 72% + - 3.1: 90 vulnerabilities (42 moderate, 34 high, 14 critical) + - 4.0: 25 vulnerabilities (16 moderate, 8 high, 1 critical) +- 40+ dependency changes (upgrades, additions, and removals) + +### How to upgrade + +As with any Superset version upgrade, the process is simple in the broadest strokes, as outlined in the documentation. However, as with any upgrade, we expect to see numerous speed bumps along that path depending on your configuration, your infrastructure, your databases in use, and other customizations/configurations. To make a safe leap to this version, we'd suggest the following steps: + +- Back up your databases +- Carefully read `CHANGELOG.md` for all the incremental changes in this version (and any prior versions between your current installation and 4.0.0). +- Similarly, review `UPDATING.md` to keep an eye out for all changes that have been explicitly marked as breaking changes. +- Adjust your feature flags and configurations to meet your feature requirements and preferences. +- Execute the migrations +- If you have third-party apps interacting with Superset, check for relevant dependency updates or API endpoint changes that may affect compatibility. + +Your mileage may vary depending on: + +- How you install and deploy Superset (e.g. docker vs. pip vs. helm) +- How you’ve configured Superset +- What integrations, databases, etc. you're using + +Reach out in `#deploying-superset` on Slack in case you find any problems, and if you find a reproducible bug, please file a new issue on GitHub. diff --git a/RELEASING/release-notes-4-0/media/alert-modal-1.png b/RELEASING/release-notes-4-0/media/alert-modal-1.png new file mode 100644 index 0000000000..a6e56d964e Binary files /dev/null and b/RELEASING/release-notes-4-0/media/alert-modal-1.png differ diff --git a/RELEASING/release-notes-4-0/media/alert-modal-2.png b/RELEASING/release-notes-4-0/media/alert-modal-2.png new file mode 100644 index 0000000000..4e5f6871aa Binary files /dev/null and b/RELEASING/release-notes-4-0/media/alert-modal-2.png differ diff --git a/RELEASING/release-notes-4-0/media/alert-modal-3.png b/RELEASING/release-notes-4-0/media/alert-modal-3.png new file mode 100644 index 0000000000..40fe83cf34 Binary files /dev/null and b/RELEASING/release-notes-4-0/media/alert-modal-3.png differ diff --git a/RELEASING/release-notes-4-0/media/dashboard-dnd-1.png b/RELEASING/release-notes-4-0/media/dashboard-dnd-1.png new file mode 100644 index 0000000000..6b5a6ab882 Binary files /dev/null and b/RELEASING/release-notes-4-0/media/dashboard-dnd-1.png differ diff --git a/RELEASING/release-notes-4-0/media/dashboard-dnd-2.png b/RELEASING/release-notes-4-0/media/dashboard-dnd-2.png new file mode 100644 index 0000000000..5e3994a506 Binary files /dev/null and b/RELEASING/release-notes-4-0/media/dashboard-dnd-2.png differ diff --git a/RELEASING/release-notes-4-0/media/explore-dnd.png b/RELEASING/release-notes-4-0/media/explore-dnd.png new file mode 100644 index 0000000000..0b4d15f5f0 Binary files /dev/null and b/RELEASING/release-notes-4-0/media/explore-dnd.png differ diff --git a/RELEASING/release-notes-4-0/media/sunburst.png b/RELEASING/release-notes-4-0/media/sunburst.png new file mode 100644 index 0000000000..bc8881565f Binary files /dev/null and b/RELEASING/release-notes-4-0/media/sunburst.png differ diff --git a/RELEASING/release-notes-4-0/media/tags-1.png b/RELEASING/release-notes-4-0/media/tags-1.png new file mode 100644 index 0000000000..a6c42cf421 Binary files /dev/null and b/RELEASING/release-notes-4-0/media/tags-1.png differ diff --git a/RELEASING/release-notes-4-0/media/tags-2.png b/RELEASING/release-notes-4-0/media/tags-2.png new file mode 100644 index 0000000000..a5ecf065df Binary files /dev/null and b/RELEASING/release-notes-4-0/media/tags-2.png differ
