* docs: release notes for 1.5 * rephrase and remove secret key from 1.4 * address review comments |
||
---|---|---|
.. | ||
media | ||
README.md |
Release Notes for Superset 1.5
Superset 1.5 focuses on polishing the dashboard native filters experience, while improving performance and stability. Superset 1.5 is likely the last minor release of version 1 of Superset, and will be succeeded by Superset 2.0. The 1.5 branch introduces the notion of a Long Term Support (LTS) version of Superset, and will receive security and other critical fixes even after Superset 2.x is released. Therefore, users will have the choice of staying on the 1.5 branch or upgrading to 2.x when available.
User Facing Features
- Complex dashboards with lots of native filters and charts will render considerably faster. See the videos that shows the rendering time of a complex dashboard go from 11 to 3 seconds: #19064. In addition, applying filters and switching tabs is also much smoother.
- The Native Filter Bar has been redesigned, along with moving the "Apply" and "Clear all" buttons to the bottom:
- Native filters can now be made dependent on multiple filters. This makes it possible to restrict the available values in a filter based on the selection of other filters.
- In addition to being able to write Custom SQL for adhoc metrics and filters, the column control now also features a Custom SQL tab. This makes it possible to write custom expressions directly in charts without adding them to the dataset as saved expressions.
- A new
SupersetMetastoreCache
has been added which makes it possible to cache data in the Superset Metastore without the need for running a dedicated cache like Redis or Memcached. The new cache will be used by default for required caches, but can also be used for caching chart or other data. See the documentation for details on using the new cache. - Previously it was possible for Dashboards with lots of filters to cause an error. A similar issue existed on Explore. Now Superset stores Dashboard and Explore state in the cache (as opposed to the URL), eliminating the infamous Long URL Problem.
- Previously permanent links to Dashboard and Explore pages were in fact shortened URLS
that relied on state being stored in the URL (see Long URL Problem above). In
addition, the links used numerical ids and didn't check user permissions making it
easy to iterate through links that were stored in the metastore. Now permanent links
state is stored as JSON objects in the metastore, making it possible to store
arbitrarily large Dashboard and Explore state in permalinks. In addition, the ids
are encoded using
hashids
and check permissions, making permalink state more secure.
Feature flags
- A new feature flag
GENERIC_CHART_AXES
has been added that makes it possible to use a non-temporal x-axis on the ECharts Timeseries chart (#17917). When enabled, a new control "X Axis" is added to the control panel of ECharts line, area, bar, step and scatter charts, which makes it possible to use categorical or numerical x-axes on those charts.
Database Experience
-
DuckDB: Add support for database: #19317
-
Kusto: Add support for Azure Data Explorer (Kusto): #17898
-
Trino: Add server cert support and new auth methods: #17593 and #16346
-
Microsoft SQL Server (MSSQL): support using CTEs in virtual tables: #18567
-
Teradata and MSSQL: add support for TOP limit syntax: #18746 and #18240
-
Apache Drill: User impersonation using
drill+sadrill
: #19252
Developer Experience
superset-ui
has now been integrated into the Superset codebase as per SIP-58 dubbed "Monorepo". This makes development of plugins that ship with Superset considerably simpler. In addition, it makes it possible to alignsuperset-ui
releases with official Superset releases.
Breaking Changes and Full Changelog
Breaking Changes
- Bump
mysqlclient
from v1 to v2: #17556 - Single and double quotes will no longer be removed from filter values: #17881
- Previously
QUERY_COST_FORMATTERS_BY_ENGINE
,SQL_VALIDATORS_BY_ENGINE
andSCHEDULED_QUERIES
were expected to be defined in the feature flag dictionary in theconfig.py
file. These should now be defined as a top-level config, with the feature flag dictionary being reserved for boolean only values: #15254 - All Superset CLI commands (init, load_examples and etc) require setting the
FLASK_APP
environment variable (which is set by default when.flaskenv
is loaded): #17539
Changelog
To see the complete changelog in this release, head to CHANGELOG.MD. As mentioned earlier, this release has a MASSIVE amount of bug fixes. The full changelog lists all of them!