Release Notes for Superset 1.0.0

Superset 1.0 is a huge milestone for Apache Superset. This release holds a higher quality standard than any previous version and raises the bar for releases to come. Superset 1.0 improves on usability and delivers a new set of long awaited features focused on five major themes:

User Experience

We have taken the Superset user experience to the next level with a much simpler, more intuitive UI.

Lists of Charts and Dashboards can be shown in a new format using a thumbnail grid. This makes it easier to discover and find Charts and Dashboards, especially when there are a lot of them in your Superset instance.

Visualization controls have been updated to create a more consistent and modernized interface. Refactoring includes updates to the content/labeling/ordering of these controls as well as updating their styling and simplifying their interactions and layout. This will line us up for features like drag-and-drop controls, and dynamically populated control inputs in future releases.

Users also now have the ability to create and name a new dataset or update an existing dataset when moving from SQL Lab to Explore. When going back to SQL Lab, the underlying query for the dataset will be shown, allowing users to easily make changes and update their dataset when moving between SQL Lab and Explore.

The Superset 1.0 documentation has been updated to reflect the current design and functionality.

See related PR highlights here.

Developer Experience

Superset 1.0 makes it easier for developers to build, deploy, and maintain Superset functionality. This release is a major milestone in an ongoing effort to modernize, consolidate, and simplify the interface elements of Superset. Highly-used components have been visually updated, refactored to modern component libraries, and integrated with React Storybook for immediate visibility with consolidated test/styles. This improves the developer experience and creates a more consistent and modern aesthetic for the user.

The REST API continues to see improvement as well, with new endpoints and improvements to existing endpoints. More details here.

The Swagger interface can be used to explore and try out these changes.

See related PR highlights here.

Performance

This the most performant Superset release to date, with enhanced scalability and efficiency. In addition to many small tweaks, Charts and SQL Lab both now support asynchronous data loading. Users will feel this improvement when loading query results, especially when there are many charts in a Dashboard or when queries are long running.

See related PR highlights here.

New Features

Superset 1.0 includes a slew of new features and other enhancements. New visualization plugin architecture will make it easier to build, test, style and configure custom visualizations for Superset. Dynamic viz plugin imports will allow Superset to load data viz plugins, allowing developers to more easily use or share their custom plugins and load custom plugins on-demand from anywhere on the web. Superset has also adopted Apache ECharts as the core library for new visualizations.

Along with the Echarts integration, we are also introducing a better set of annotation features. Formula annotation, which allows users to plot any mathematical function on the chart; Interval and Event annotations, which allow users to add context to the trend in Time-Series; and Line annotation, which use a predefined chart as the source of annotation.

A redesigned home screen provides a personalized landing page that the user sees when they log into Superset, improving discoverability. It shows items relevant to the user (Charts, Dashboards, Saved Queries, etc) and serves as a hub to discover content and access recent items quickly.

Charts on dashboards have been updated to concisely show which filters are in scope, have been applied, or are in error. Context around filter changes has been increased by highlighting scoped charts when a filter is selected and increasing visibility of charts with incompatible filters applied.

Alerts and reporting have received a robust backend and UI overhaul.

See related PR highlights here.

Feature Flags

Some of the new features in this release are disabled by default. Each has a feature flag in config.py and some require configuration of additional backend dependencies (e.g. celery, SMTP server, etc). The following table will help you get started on the list of features and their associated flags & dependencies. Feel free to contribute and expand this list.

FeatureFeature FlagDependenciesDocumentation
Global Async QueriesGLOBAL_ASYNC_QUERIES: TrueRedis 5.0+, celery workers configured and runningExtra documentation
Dashboard Native FiltersDASHBOARD_NATIVE_FILTERS: True
Alerts & ReportingALERT_REPORTS: TrueCelery workers configured & celery beat process
Homescreen ThumbnailsTHUMBNAILS: TRUE, THUMBNAIL_CACHE_CONFIG: CacheConfig = { "CACHE_TYPE": "null", "CACHE_NO_NULL_WARNING": True}selenium, pillow 7, celery
Row Level SecurityROW_LEVEL_SECURITYExtra Documentation
Dynamic Viz Plugin ImportDYNAMIC_PLUGINS: True

Stability and Bugfixes

This release includes hundreds of bugfixes and stability enhancements. Future major releases will have a continued emphasis on providing a stable and bug-free experience for the user.

PR Highlights

Below is a highlight of the PRs included in this update. The full list is much longer, and can be found here.

User Experience

  • Revert “refactor: Remove usages of reactable from TimeTable (#11046)” (#11150)
  • style: Restoring menu highlights (#12024)
  • style: eslint curly rule (#11913)
  • style: remove react bootstrap fade component (#11843)
  • style: dark filter popover background (#11611)

Explore Controls

  • feat: Global nav menus open on hover (#12025)
  • feat: add hook for dataset health check (#11970)
  • feat: add modal to import dashboards (#11924)
  • feat: add modal to import charts (#11956)
  • feat: add modal to import datasets (#11910)
  • feat: add modal to import databases (#11884)
  • feat: Results table on Explore view (#11854)
  • feat: report/alert list CRUD view (#11802)
  • feat: filter by me on CRUD list view (#11683)
  • feat(explore-datasource): add new datasource tab to explore view (#12008)
  • feat(explore): time picker enhancement (#11418)
  • feat(explore): metrics and filters controls redesign (#12095)
  • feat(explore): change save button text when users cannot override (#11281)
  • feat(explore): update the order of datasource dropdown menu (#11424)

SQL Lab

  • feat: initial custom error messages for SQL Lab (#12080)
  • feat: show missing parameters in query (#12049)
  • feat: Sqllab to Explore UX improvements (#11755)
  • feat: add Postgres SQL validator (#11538)
  • feat: run BQ queries as single statement (#11904)
  • feat: Adding SaveDatasetModal component (#11861)
  • feat: list view filters for Query History (#11702)
  • feat: Sqllab to Explore UX improvements api changes (#11836)
  • feat: SQL preview modal for Query History (#11634)
  • feat: Query History CRUD list view (#11574)
  • feat: add UUID column to saved_query for export/import (#11397)
  • feat: saved queries with execution info (#11391)
  • feat: saved query preview modal (#11135)
  • feat(saved queries): security perm simplification (#11764)
  • feat(welcome): add SQL snippets to saved queries card (#11678)

Documentation

  • docs: restored page on roles in security, executed other touchups, and… (#11978)
  • docs: 0.38.0 CHANGELOG and UPDATING (#11809)
  • docs: add Xite to users list (#11775)
  • docs: fix docker config paths (#11703)
  • docs: add support for Google Analytics on superset.apache.org (#11613)
  • docs: add Avesta to users list (#11551)
  • docs: add Xendit to users list (#11361)
  • docs: fix db drivers PG and ES (#11504)
  • docs: improve docs and update apache release scripts (#11457)
  • docs: Update Dremio doc with Arrow Flight connection details (#11422)
  • docs: Add semantic prefix info for PR titles (#11398)
  • docs: fix typo (#11129)
  • docs: add VLMedia to users list (#11386)
  • docs: Fix typo in installing from scratch (#11026)
  • docs: add a roadmap page pointing to SIP-53 (#11169)
  • docs: add note about migration in #11098 to Changelog (#11256)
  • docs: Add utair to list of companies using Apache Superset (#11261)
  • docs: don't link to database engine pages (#11242)
  • docs: Added Dremio to superset home page (#11231)
  • docs: typo (#11152)
  • docs: add API page to docs using Swagger UI (#11154)
  • docs(release): small fixes and deprecate apache docs (#11827)
  • docs(releasing): update release automation and docs for Apache graduation (#12117)
  • feat: Add new default dashboard (#12044)

Developer Experience

  • feat: add endpoint to export saved queries using new format (#11447)

Component Library

  • build(deps-dev): update cypress to 5.5.0, improvements for running locally (#11603)
  • build(deps-dev): bump less from 3.9.0 to 3.12.2 in /superset-frontend (#11597)
  • build(deps-dev): bump @storybook/addon-essentials in /superset-frontend (#11573)
  • build(deps-dev): bump node-fetch in /superset-frontend (#11485)
  • build(deps): bump @emotion/core in /superset-frontend (#11518)
  • build(deps): bump core-js from 3.2.1 to 3.6.5 in /superset-frontend (#11522)
  • build(deps): bump object-path from 0.11.4 to 0.11.5 in /docs (#11484)
  • build(deps): bump lodash in /superset-frontend/cypress-base (#11483)
  • chore: bump nvd3 plugin version (#11947)
  • chore: bump pypi cryptography from 2.4.2 to 3.2.1 (#11511)

Performance

  • perf: cache dashboard bootstrap data (#11234)
  • perf: speed up uuid column generation (#11209)
  • perf(api): improve API info performance (#11346)

Global Async Query Support

  • feat(SIP-39): Async query support for charts (#11499) ###New Features

Improved Data Visualizations

  • feat: add event and interval annotation support to chart data ep (#11665)
  • feat: add ECharts BoxPlot chart (#11199)
  • feat(sankey-viz): allow sort by metric and bump superset-ui packages (#11626)

Discovery and Navigation

  • chore: Add home link to navbar (#11851)
  • chore(home-screen): fixes for loading states, flicker issue, and reduction of api calls (#11557)
  • feat: alert/report execution log list view (#11937)
  • feat: home screen mvp (#11206)
  • style: various little tweaks to home screen stylin' (#11650)

Alerts and Reporting

  • feat: update alert/report icons and column order (#12081)
  • feat: add cron picker to AlertReportModal (#12032)
  • feat: alerts/reports add/edit modal (#11770)
  • feat: filters for alerts and reports list view (#11900)
  • feat(alert/report): add ‘not null’ condition option to modal (#12077)
  • feat(alerts/reports): remove SIP_34_UI feature flag (#12085)
  • feat(alerts/reports): add refresh action (#12071)
  • feat(alerts/reports): delete and bulk delete actions (#12053)
  • feat(releasing): support changelog csv export (#11893)

Complete Changelog

Backwards incompatible changes and can be found here.

To see the complete changelog, see apache/incubator-superset/CHANGELOG.md