Apache Superset 1.0 is a major milestone that the community has been working towards since the very first commit at a hackathon at Airbnb back in 2015. Superset 1.0 packs a lot of new features, uplevels usability, holds a higher quality standard, and raises the bar for releases to come.
This page chronicles the key advancements that our community has been building up towards this release.
While growing fast over the past four years, Superset had accumulated a certain amount of technical debt, design debt, bugs, and idiosyncrasies. For this release, we wanted to pay the bulk of that debt off, streamlining the core user flows, refreshing the overall look and feel, taking off some of the scaffolding that was left standing around, and more generally, leveling up the user experience.
Visually, Superset 1.0 is stunning, introducing card layouts with thumbnails throughout the application, streamlining navigation and content discovery with a new home page, redesigned menus, and generally enriching existing pages.
Behind the scenes, we moved away from Bootstrap 2x in favor of building a proper design system on top of Ant Design. We also redesigned all of our CRUD (Create Read Update Delete), moving away from the rigid scaffolding “auto-magic” provided by FAB (Flask App Builder), to our own React-based solution that enables us to build richer experiences.
More generally, many rough edges got buffed, the whole product got polished, and we managed to get our core user flows to, well, flow nicely.
For engineers and hackers, we’ve made Superset much more modular, extensible and integratable. We’re now exposing the building blocks of Superset for engineers to extend or use in other projects. It’s now easier than ever to create new visualization plugins for Superset and to share those plugins back with the community.
We’re excited by the possibilities that this opens and excited to observe a growing ecosystem of plugins take life. We’ve also formalized a public REST API that enables engineers to essentially do everything that users can do in Superset, programmatically.
With 1680 PRs merged and 25+ SIPs (Superset Improvement Proposals) over 2020, it’s hard to summarize what went into this release. Improvements happened in all aspects of the project, from infrastructure to design, through backend and frontend, to community and governance. Here are some honorable mentions that we haven’t been covered above, but deserve a mention in this post:
Release Notes
To digest the full set of changes in 1.0, we recommend reading the full Release Notes on Github.
Source Code
You can download Superset 1.0 from any of the following places:
Feature Flags & Dependency Configuration
Some of the features in Superset 1.0 require:
In this section, the community takes the first steps to document the feature flags and configuration instructions needed.
Feature | Feature Flag | Dependencies | Documentation |
---|---|---|---|
Global Async Queries | GLOBAL_ASYNC_QUERIES: True | Redis 5.0+, celery workers configured and running | Extra documentation |
Dashboard Native Filters | DASHBOARD_NATIVE_FILTERS: True | ||
Alerts & Reporting | ALERTS_REPORTS: True | Celery workers configured & celery beat process | |
Homescreen Thumbnails | THUMBNAILS: TRUE, THUMBNAIL_CACHE_CONFIG: CacheConfig = { "CACHE_TYPE": "null", "CACHE_NO_NULL_WARNING": True} | selenium, pillow 7, celery | |
Dynamic Viz Plugin Import | DYNAMIC_PLUGINS: True |