This file documents any backwards-incompatible changes in Superset and assists people when migrating to a new version.
If you use Hive
or Presto
, we've moved some dependencies that were in the main package as optional now. To get these packages, run pip install superset[presto]
and/or pip install superset[hive]
as required.
5445 : a change which prevents encoding of empty string from form data in the datanbase. This involves a non-schema changing migration which does potentially impact a large number of records. Scheduled downtime may be advised.
yarn
in favor of good old npm install
. While yarn should still work just fine, you should probably align to guarantee builds similar to the ones we use in testing and across the community in general.Support for Python 2 is deprecated, we only support >=3.6 from 0.28.0
onwards
Superset 0.28 deprecates the previous dashboard layout. While 0.27 offered a migration workflow to users and allowed them to validate and publish their migrated dashboards individually, 0.28 forces the migration of all dashboards through an automated db migration script. We do recommend that you take a backup prior to this migration.
Superset 0.28 deprecates the median
cluster label aggregator for mapbox visualizations. This particular aggregation is not supported on mapbox visualizations going forward.
Superset 0.28 upgrades flask-login
to >=0.3
, which includes a backwards-incompatible change: g.user.is_authenticated
, g.user.is_anonymous
, and g.user.is_active
are now properties instead of methods.
superset worker
CLI, which is a simple wrapper around the celery worker
command, forcing you into crafting your own native celery worker
command. Your command should look something like celery worker --app=superset.sql_lab:celery_app --pool=gevent -Ofair
Superset 0.25.0 contains a backwards incompatible changes. If you run a production system you should schedule downtime for this upgrade.
The PRs bellow have more information around the breaking changes:
from flask_appbuilder.security.sqla.manager import SecurityManager
, you now have to derive Superset's own derivative superset.security.SupersetSecurityManager
. This can provide you with more hooks to define your own logic and/or defer permissions to another system as needed. For all implementation, you simply have to import and derive SupersetSecurityManager
in place of the SecurityManager
setup.py
now only pins versions where required, giving you more latitude in using versions of libraries as needed. We do now provide a requirements.txt
with pinned versions if you want to run the suggested versions that Superset
builds and runs tests against. Simply pip install -r requirements.txt
in your build pipeline, likely prior to pip install superset==0.25.0