Dash 3.0 Migration

This page outlines changes in Dash version 3.0 and cases where you may need to update an existing app to work with version 3.0. Dash 3.0 is currently available as a release candidate. Install it with pip install dash==3.0.0rc1

Removed

The following were deprecated in previous versions of Dash and have now been removed in Dash 3.0.

Long Callbacks

Replace long callbacks with background callbacks.

Here’s a complete app using long callbacks rewritten to use background callbacks:

dcc.LogoutButton

Replace dcc.LogoutButton with html.Button or use the Dash Enterprise Auth logout button functionality.

Dash.run_server

To run your app, replace Dash.run_server with Dash.run.

Default React Version

The default version of React in Dash 3.0 is React 18.3.1. In most cases, you won’t need to make any updates to your apps and they will continue to work.

If you do need to use the previous default React version (16.14.0) in your app, you can add the following:

import dash
dash._dash_renderer._set_react_version("16.14.0")

app = dash.Dash()
...

dash._dash_renderer._set_react_version("16.14.0") sets the React version to 16.14.0 and must come before the app instance is created.

Typing Support

Components in dash.html and dash.dcc now support Python typing on the component __init__. This means that static type checkers can identify issues if you pass an incorrect type when creating a component, like in the following code.

dcc.RadioItems(
    options=list(all_options.keys()),
    value=['America'], # list is not a valid type for `value`
    id='countries-radio',
),

<img>

Additional Resources