aria-*
anddata-*
attributes are now supported in all dash html components. (#40)- These new keywords can be added using a dictionary expansion, e.g.
html.Div(id="my-div", **{"data-toggle": "toggled", "aria-toggled": "true"})
- #207 Dash now supports React components that use Flow.
To support Flow,
component_loader
now has the following behavior to create docstrings as determined in discussion in #187: 1. If a Dash component hasPropTypes
-generated typing, the docstring uses thePropTypes
, regardless of whether the component also has Flow types (current behavior). 2. Otherwise if a Dash component has Flow types but notPropTypes
, the docstring now uses the objects generated byreact-docgen
from the Flow types.
exceptions.PreventUpdate
can be raised inside a callback to elegantly prevent the callback from updating the app. See https://community.plot.ly/t/improving-handling-of-aborted-callbacks/7536/2 for context and #190 for the PR.
- Many pylint style fixes. See #163, #164, #165, #166, #167, #168, #169, #172, #173, #181, #185, #186, #193
- New integration test framework #184
- Submodules are now imported into the
dash
namespace for better IDE completion #174
- 🔒 CSRF protection measures were removed as CSRF style attacks are not relevant
to Dash apps. Dash's API uses
POST
requests with content typeapplication/json
which are not susceptible to unwanted requests from 3rd party sites. See plotly#141 for more. - 🔒 Setting
app.server.secret_key
is no longer required since CSRF protection was removed. Settingapp.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 🎉
app.config
is now adict
instead of a class. You can set config variables withapp.config['suppress_callback_exceptions'] = True
now. The previous class-based syntax (e.g.app.config.suppress_callback_exceptions
) has been maintained for backwards compatibility
- 0.18.2 introduced a bug that removed the ability for dash to serve the app on
any route besides
/
. This has been fixed. - 0.18.0 introduced a bug with the new config variables when used in a multi-app setting. These variables would be shared across apps. This issue has been fixed. Originally reported in https://community.plot.ly/t/flask-endpoint-error/5691/7
- The config setting
supress_callback_exceptions
has been renamed tosuppress_callback_exceptions
. Previously,suppress
was spelled wrong. The original config variable is kept for backwards compatibility.
The prerelease for 0.18.3
- 🔧 Added an
endpoint
to each of the URLs to allow for multiple routes (plotly#70)
- 🐛 If
app.layout
was supplied a function, then it used to be called excessively. Now it is called just once on startup and just once on page load. plotly#128
- 🔒 Removes the
/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 theirstatic
folder are accessible - ⚡️ Removes all API calls to the Plotly API (https://api.plot.ly/), the authentication endpoints and decorators, and the associated
filename
,sharing
andapp_url
arguments. This was never documented or officially supported and authentication has been moved to thedash-auth
package - ✏️ Sorts the prop names in the exception messages (#107)
- 🔧 Add two new
config
variables:routes_pathname_prefix
andrequests_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 andrequests_pathname_prefix
prefixed in requests made by Dash's front-end.dash-renderer==0.8.0rc3
uses these endpoints. - 🔧 Added id to KeyError exception in components (#112)
- ✏️ Fix a typo in an exception
- 🔧 Replaced all illegal characters in environment variable
##🔧 Maintenance
- 📝 Update README.md
- ✅ Fix CircleCI tests. Note that the
dash-renderer
contains the bulk of the integration tests. - 💄 Flake8 fixes and tests (fixes #99 )
- ✨ Added this CHANGELOG.md
✨ This is the initial open-source release of Dash