NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1501 most downloaded on PyPI
A Python framework for building reactive web-apps. Developed by Plotly.
Last release 13 days ago
21 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
219 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Fixed - #387 Add Cache-Control headers to files served by Dash.serve_component_suites, and time modified query string to collected components suit
One column per quarter.
### Fixed - #374 Fix get_asset_url with a different assets_url_path.
get_asset_url with a different assets_url_path.Set url_base_pathname to None in Dash.__init__. Fix #364
url_base_pathname to None in Dash.__init__. Fix #364Dash.get_asset_url will give the prefixed url for the asset file.
Dash.get_asset_url will give the prefixed url for the asset file.requests_pathname_prefix.### Fixed - #343 Only create the assets blueprint once for apps that provide the same flask instance to multiple dash instances.
### Fixed - #336 Fix bug in _validate_layout which would not let a user set app.layout to be a function that returns a layout (fixes #334).
_validate_layout which would not let a user set app.layout to be a function that returns a layout (fixes #334).Nothing published for this version
Nothing published for this version
Nothing published for this version
### Added - #318 Add assets_ignore init keyword, regex filter for the assets files.
assets_ignore init keyword, regex filter for the assets files.### Fixed - #335 Ensure CSS/JS external resources are loaded before the assets.
Take requests_pathname_prefix config when creating scripts tags.
DASH_).requests_pathname_prefix config when creating scripts tags.requests/routes_pathname_prefix must start and end with /.requests_pathname_prefix must end with routes_pathname_prefix. If you supplied both requests and routes pathname before this update, make sure requests_pathname_prefix ends with the same value as routes_pathname_prefix.url_base_pathname sets both requests/routes pathname, cannot supply it with either requests or routes pathname prefixes.### Fixed - #320 Disallow duplicate component ids in the initial layout.
Fix bug #321 where importing Dash components with no props would result in an error.
dash-html-components with Python 3.7.Nothing published for this version
### Added - #319 Add a modified time query string to assets included in the index in order to bust the cache.
Dash components are now generated at build-time and then imported rather than generated when a module is imported. This should reduce the time it take
ie-compat meta tag to the index by default.external_script and external_css keywords to dash __init__.renderer#55 Add _dash-error class to the "Error loading layout" and "Error loading dependencies" messages.
_dash-error class to the "Error loading layout" and "Error loading dependencies" messages.Boolean value to the page no longer crashes the app.id which does not exist in the DOM tree at the time it is executed, throw a more informative front-end exception.updateProps with multiple properties, Dash would fire the callback multiple times (once for each property). Now the callback only fires once.Nothing published for this version
Nothing published for this version
renderer#45 Allow user to choose between React versions '15.4.2' and '16.2.0': ```python import dash_renderer
aria-* and data-* attributes in all dash html components. These new keywords can be added using a dictionary expansion, e.g. html.Div(id="my-div", **{"data-toggle": "toggled", "aria-toggled": "true"})import dash_renderer
# Set the react version before setting up the Dash application
dash_renderer._set_react_version('16.2.0')
app = dash.Dash(...)
react and react-dom bundles for development modeIf a Dash component has PropTypes-generated typing, the docstring uses the PropTypes, _regardless of whether the component also has Flow types (curren
component_loader now has the following behavior to create docstrings as determined in discussion in #187:
PropTypes-generated typing, the docstring uses the PropTypes, regardless of whether the component also has Flow types (current behavior).PropTypes, the docstring now uses the objects generated by react-docgen from the Flow types.Removes logging from redux middleware from production build based on process.env.NODE_ENV.
exceptions.PreventUpdate can be raised inside a callback to prevent the callback from updating the app. See https://community.plotly.com/t/improving-handling-of-aborted-callbacks/7536/2.🔒 Remove CSRF protection measures. CSRF-style attacks are not relevant to Dash apps. Dash's API uses POST requests with content type application/json
POST requests with content type application/json which are not susceptible to unwanted requests from 3rd party sites. See #141.app.server.secret_key is no longer required since CSRF protection was removed. Setting app.server.secret_key was difficult to document and a very common source of confusion, so it's great that users won't get bitten by this anymore :tada:app.config is now a dict instead of a class. You can set config variables with app.config['suppress_callback_exceptions'] = True now. The previous cla
app.config is now a dict instead of a class. You can set config variables with app.config['suppress_callback_exceptions'] = True now. The previous class-based syntax (e.g. app.config.suppress_callback_exceptions) has been maintained for backwards compatibility.<div class="_dash-loading-callback"/> to the DOM. Users can style this element using custom CSS to display loading screen overlays. This feature is in alpha, we may remove it at any time./.supress_callback_exceptions to suppress_callback_exceptions. The original spelling is kept for backward compatibility.Nothing published for this version
### Added - #70 🔧 Add an endpoint to each of the URLs to allow for multiple routes.
endpoint to each of the URLs to allow for multiple routes.### Fixed - #128 🐛 If app.layout is a function, then it used to be called excessively. Now it is called just once on startup and just once on page loa
app.layout is a function, then it used to be called excessively. Now it is called just once on startup and just once on page load.🔒 Remove the /static/ folder and endpoint that is implicitly initialized by flask. This is too implicit for my comfort level: I worry that users will
/static/ folder and endpoint that is implicitly initialized by flask. This is too implicit for my comfort level: I worry that users will not be aware that their files in their static folder are accessiblefilename, sharing and app_url arguments. This was never documented or officially supported. Authentication has been moved to the dash-auth package.config variables: routes_pathname_prefix and requests_pathname_prefix to provide more flexibility for API routing when Dash apps are run behind proxy servers. routes_pathname_prefix is a prefix applied to the backend routes and requests_pathname_prefix prefixed in requests made by Dash's front-end. dash-renderer==0.8.0rc3 uses these endpoints.id to KeyError exceptions in components.dash-renderer contains the bulk of the integration tests.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →