All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Renamed
__init__.py
external_path to dash_renderer.min.js
- Unminified dev bundle support. #77
- Attempting to render a
Boolean
value to the page no longer crashes the app.
- If a callback references an
id
which does not exist in the DOM tree at the time it is executed, throw an informative front-end exception (previously an uninformative front-end exception was thrown). plotly#57
- Previously, if a component called
updateProps
with multiple properties, Dash would fire the callback multiple times (once for each property). Now, the callback is only fired once. plotly#54
- A
_dash-error
class was added to the "Error loading layout" and "Error loading dependencies" messages. plotly#55
- Updates MANIFEST.in to include react and react-dom bundles for development mode plotly#50
- Allows user to now choose between '15.4.2' and '16.2.0' for React versions
import dash_renderer
# Set the react version before setting up the Dash application
dash_renderer._set_react_version('16.2.0')
app = dash.Dash(...)
- Fixed #41 in #42. In some cases, during initialization, callbacks may fired multiple times instead of just once. This only happens in certain scenarios where outputs have overlapping inputs and those inputs are leaves (they don't have any inputs of their own). See #41 for a simple example and #42 for some more extensive test cases.
- Fixed #44 in #42. If an output component is returned from a callback and its inputs were not returned from the same input (i.e. they were already visible), then the callback to update the output would not fire. This has now been fixed. A common scenario where this app structure exists is within a Tabbed app, where there are global controls that update each tab's contents and the tab's callback just displays new output containers. See #44 for a simple example and #42 for some more extensive test cases.
- Removes logging from redux middleware from production build based on process.env.NODE_ENV.
- 🐌 🐎 Fixed a performance issue. In 0.11.0 we introduced an internal request queue to fix some bugs. This request queue was boundless and in certain cases it could become really large and slow down the app. Now, we remove old requests from this queue when they are no longer needed, keeping its size under control. Originally reported in plotly#27
- 🐞 Previously, old requests could override new requests if their response was longer than the new one. This caused subtle bugs when apps are deployed on multiple processes or threads with component callbacks that update at varying rates like urls. Originally reported in github.com/plotly/dash/issues/133. This fix should also improve performance when many updates happen at once as outdated requests will get dropped instead of updating the UI.
- Fixed an issue where a callback would be fired on page load and when dynamically generated excessively. Previously, the callback would be called as many times as it had inputs. Now, it is called less. plotly#21
- Add percy screenshot tests
- 🐞 Fixed a bug where Dash would fire updates for each parent of a grandchild node that shared the same grandparent. Originally reported in https://community.plot.ly/t/specifying-dependency-tree-traversal/5080/5
- 🐞 Fixed a bug where the document title that displays "Updating..." wouldn't change if the callback raised an Exception. Now it will be removed on any response, even a failure.
- 🐌 Experimental behaviour for a customizable "loading state". When a callback is in motion, Dash now appends a
<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.
- 🔧 Added support for the
requests_pathname_prefix
config parameter introduced indash==0.18.0
- Remove unofficial support for
/routes
. This was never officially supported and was an antipattern in Dash. URLs and multi-page apps can be specified natively through thedash_core_components.Link
anddash_core_components.Location
components. See https://plot.ly/dash/urls for more details.
- Added a class
_dash-undo-redo
to the undo/redo toolbar. This allows the undo/redo to be styled (or even removed)