The following features available in Dash Enterprise 4.X are not supported in 5.X or behave differently:
Dash Enterprise upgrades: Because Dash Enterprise 5 is built on a completely new architecture, it is not possible to upgrade from 4.X to 5.X using an Upgrade button. Migrating to Dash Enterprise 5 instead requires a new installation and a customized migration script. Customer Success will reach out to you with more details.
User management and authentication: Dash Enterprise 5 introduces Keycloak to help administrators manage users and configure user authentication. Configurations that you set up in Dash Enterprise 4, including any identity provider integrations, do not carry over to Dash Enterprise 5. To set up authentication in Dash Enterprise 5, you need to use Keycloak.
Self-service seat license allocation: In Dash Enterprise 4, certain user actions like initializing an app or visiting the documentation trigger a seat license assignment. In Dash Enterprise 5, administrators need to assign license seats to users in advance.
Memory usage and limits: Dash Enterprise 5.X comes with a licensed memory limit. Administrators can use a default memory limit to apply to all resources on the system (app processes, workspaces, and managed databases) or set custom memory limits per resource. The default memory limit cannot exceed 10 GiB, and custom memory limits cannot exceed 24 GiB. See Memory Limits for more information.
Directory mapping and mounts: Directory mapping is not available in Dash Enterprise 5.X, but you can achieve similar results with a persistent filesystem. The persistent filesystem feature in Dash Enterprise 5.X works differently than directory mapping in Dash Enterprise 4.X:
See Persistent Filesystem for more information.
Dash Enterprise packages URL: Dash Enterprise packages like Dash Design Kit are available at a different URL. This URL is available in the package installation documentation that comes with Dash Enterprise.
Default Python version: In Dash Enterprise 5.0.0 and 5.1.0, deployed Dash apps and workspaces default to Python 3.8.12. In Dash Enterprise 5.1.1 and 5.2.0, they default to Python 3.8.16.
runtime.txt: Replaced by
project.toml in Dash Enterprise 5.X. If the default Python version is not suitable for your app, create a
project.toml file in your root directory and specify a different Python version:
name = 'BP_CPYTHON_VERSION'
value = '3.6.*' # any valid semver constraints (e.g. 3.6.7, 3.*) are acceptable
Known issue: In Dash Enterprise < 5.2.X, it is not possible to use environment variables like the one above to customize the build behavior in workspaces. If you customize the Python version for your deployed app, the same app will still use Python 3.8.12 (Dash Enterprise 5.0.0 and 5.1.0) or Python 3.8.16 (Dash Enterprise 5.1.1) if you preview it in workspaces.
BP_PIP_VERSION environment variable). Workspaces default to:
Dash Enterprise 5.2.0: pip 21.2.4
conda-requirements.txt: Replaced by
environment.yml (Conda-native) in Dash Enterprise 5.X.
Learn how to generate an
apt-packages: Replaced by
Aptfile in Dash Enterprise 5.X.
Aptfile includes the equivalent functionality of
app.json: Replaced by
project.toml in Dash Enterprise 5.X. Add predeploy and/or postdeploy scripts under
predeploy = "predeploy.sh"
postdeploy = "postdeploy.sh"
Predeploy scripts: If upgrading to Dash Enterprise 5.2 or later, any predeploy script that installs system-level dependencies needs to be updated to use
sudo. For example, the following script that installs the ODBC driver
cp /app/odbc.ini /etc/odbc.ini
cp /app/odbcinst.ini /etc/odbcinst.ini
would need to be updated to
sudo cp /app/odbc.ini /etc/odbc.ini
sudo cp /app/odbcinst.ini /etc/odbcinst.ini
Base OS: In Dash Enterprise 5.2 and later, apps and workspaces use Ubuntu 22, which may not be supported by older drivers. If your apps depend on drivers, you may need change their versions in order for your apps to continue working with Dash Enterprise. Notably,
msodbcsql must be upgraded to v126.96.36.199 for compatibility with Ubuntu 22.
DOKKU_SCALE: No longer needed in Dash Enterprise 5.X (
DOKKU_SCALE was commonly used to start
worker processes in Dash Enterprise 4.X, but with 5.X,
worker processes start by default). Scale processes by going to the App Info > Scale > Edit Resources. Any existing
DOKKU_SCALE files will be ignored as of 5.X. No changes are needed if your
Procfile includes web processes only.
GraphQL API: The GraphQL API in Dash Enterprise 5.X will not be compatible with that of Dash Enterprise 4.X.
dokku CLI for managing Dash apps: Not supported in Dash Enterprise 5.X. Dash Enterprise 5 runs and schedules with a new event-based backend architecture rather than
git push plotly master command: Replaced by
git push plotly main in Dash Enterprise 5.X. If you are working off
master, then you can use
git push plotly master:main.
SSH port: Dash Enterprise 5.X uses the standard port 22 for SSH deploys. If you had set a custom port in your SSH config to deploy apps to Dash Enterprise 4.X (usually 3022), remove it before deploying to Dash Enterprise 5.X over SSH. No change is required if you are deploying using the Dash Enterprise CLI (Dash Enterprise 5.2.X and later) because it uses HTTPS.
Using one database for many Dash apps: In Dash Enterprise 5.X, databases and apps are one-to-one. If you’re currently using this feature in DE 4.X and are interested in upgrading to 5.X, please get in touch to discuss workarounds.
For a guide on adapting apps deployed to Dash Enterprise 4.X to make them compatible with Dash Enterprise 5.X, see DE4 to DE5 Migration.