Releases: plotly/dash
Releases · plotly/dash
Dash v3.0.4
[3.0.4] - 2025-04-24
Fixed
- #3278 Fix loading selector with children starting at the same digit. Fix #3276
- #3280 Remove flask typing import not available in earlier versions.
- #3284 Fix component as props having the same key when used in the same container.
- #3287 Fix typing component generation & explicitize_args.
- #3282 Fix incorrect cancellation of pattern matched long callbacks.
- #3289 Fixed issue with debugTitle where status doesnt exist and allow_duplicates to ignore the hash for prop loading in the target.
- #3281 Use routes_pathname_prefix for internal Alive URL in Dash app. Fix #3270
Dash v3.0.3
Fixed
- #3264 Fixed an issue where moving components inside of children would not update the
setProps
path, leading to hashes being incorrect - #3265 Fixed issue where the resize of graphs was cancelling others
- #3273 Fix hooks entry point, renamed from invalid hyphen
dash-hooks
to underscoreddash_hooks
. Fix #3272 - #3271 fix issue with tooltip styling. Fix #3269
Added
- #3268 Added the ability for component devs to subscribe to descendent updates by setting
dashChildrenUpdate = true
on the component, eg:Tabs.dashChildrenUpdate = true
Dash v3.0.2
Changed
- #3113 Adjusted background polling requests to strip the data from the request, this allows for context to flow as normal. This addresses issue #3111
- #3248 Changes to rendering logic:
- if it is first time rendering, render from the parent props
- listens only to updates for that single component, no children listening to parents
- if parents change a prop with components as props, only the prop changed re-renders, this is then forced on all children regardless of whether or not the props changed
Fixed
- #3251. Prevented default styles from overriding
className_*
props indcc.Upload
component.
Added
- #3248 added new
dashRenderType
to determine why the component layout was changed (internal
,callback
,parent
,clientsideApi
):- this can be utilized to keep from rendering components by the component having
dashRenderType
defined as a prop, and thedashRenderType = true
must be set on the component, eg (Div.dashRenderType = true
)
- this can be utilized to keep from rendering components by the component having
Dash v3.0.1
Dash v3.0.0
Added
- #2276 Added component prop static typing for Python.
- #3152 Custom Python prop typing for component library.
- Added
-t
,--custom-typing-module
argument todash-generate-components
CLI, default todash_prop_typing
and can contains definitions in variables:custom_imports: dict[ComponentName, list[str]]
import statement to be copied at the top of the component class definition.custom_props: dict[ComponentName, dict[PropName, function]]
for custom props. The function signature is:def generate_type(type_info, component_name, prop_name) -> str
- Added
- #3035
PropType
generation for Typescript components allowing runtime prop validation when in debug mode.
- #3152 Custom Python prop typing for component library.
- #3121 Restyle and add version checker to dev tools.
- #3029 Add pip install based hooks to Dash functionalities.
- Packages can add an
entry_points
with keydash-hooks
to theirsetup.py
for a module to be run when a Dash app is started. - Add
dash.hooks
methods to hook into Dash apps.hooks.layout
takes the layout as argument and must return a layout, can be used to wrap or add to the layout of Dash apps.hooks.callback
defines a callback to be added to Dash apps.hooks.clientside_callback
defines a clientside callback to be added to Dash apps.hooks.setup
is called before a Dash app is started to get an instance of the app as first argument.hooks.error
to receive all callback errors.hooks.index
to change theDash.index_string
.hooks.route
to add a Flask route to the Dash app.- #3175
hooks.custom_data
to add custom data called from the callback route to the user callback.
- Packages can add an
- #3066 Adds
window.dash_component_api
for components developer as alternative to removed_dashprivate
props.- Add
dash_component_api.useDashContext
,dash_component_api.DashContext
to access the redux store and loading mechanisms.DashContext.componentPath
hold the path to the current component.DashContext.useLoading(options?)
selector to get a boolean if the component is loading.DashContext.isLoading
in case you need to use outside of a functional component.DashContext.useSelector
to create custom selectors for the connected redux store.DashContext.useStore
get the Dash app redux store.DashContext.useDispatch
to dispatch new actions on the Dash redux store.
- Add
dash_component_api.getLayout(path)
to replace_dashprivate_layout
. - Expose
stringifyId
inwindow.dash_component_api
. #3175 - Add
window.dash_component_api.ExternalWrapper
to render Dash components that are not part of the layout tree. #3170 #3183
- Add
Removed
- #3066
loading_state
removed from components props. - #3078 Deprecations removals
- Removed
dash.development.component_loader
, components libraries now required to generate the components withdash-generate-components
. Dash.run_server
has been removed in favor ofDash.run
.- Removed
dcc.LogoutButton
component. - Renamed all
long
references tobackground
.
- Removed
Changed
- #3093 Changed default React version to 18.3.1
defaultProps
on functional components now emits a deprecation warning.- Deprecation notice on strings refs.
Fixed
- #3080 Fix docstring generation for components using single-line or nonstandard-indent leading comments
- #3103 Fix Graph component becomes unresponsive if an invalid figure is passed
- #3190 Fix issue with cache key generation by adding option to include triggered inputs. Fixes #3189
- #3130 Fix HOST variable when using conda.
- #3066 Improve performance of context components re-rendering.
- #3171 JupyterDash Fix - Alive Check
- #3168 Fix clientside pattern matching with a dot in the id.
Dash v3.0.0rc4
Dash v3.0.0rc3
[3.0.0-rc3] - 2025-02-21
Added
- #3121 Restyle and add version checker to dev tools.
- #3175 Add
custom_data
hook. - #3175 Improved error for removed Dash app attribute, run_server and long_callback
- #3175 Expose
stringifyId
inwindow.dash_component_api
.
Fixed
- #3175 Fix
ExternalWrapper
rendering children and support pattern matching ids.
Dash v3.0.0rc2
Added
- #3152 Custom Python prop typing for component library.
- Added
-t
,--custom-typing-module
argument todash-generate-components
CLI, default todash_prop_typing
and can contains definitions in variables:custom_imports: dict[ComponentName, list[str]]
import statement to be copied at the top of the component class definition.custom_props: dict[ComponentName, dict[PropName, function]]
for custom props. The function signature is:def generate_type(type_info, component_name, prop_name) -> str
- Added
- #3170 Add
window.dash_component_api.ExternalWrapper
to render Dash components that are not part of the layout tree.
Fixed
Dash v3.0.0rc1
Added
- #2276 Python typing definition generation for components
__init__
. - #3035
PropType
generation for Typescript components allowing runtime prop validation when in debug mode. - #3066 Adds
window.dash_component_api
for components developer as alternative to removed_dashprivate
props.- Add
dash_component_api.useDashContext
,dash_component_api.DashContext
to access the redux store and loading mechanisms.DashContext.componentPath
hold the path to the current component.DashContext.useLoading(options?)
selector to get a boolean if the component is loading.DashContext.isLoading
in case you need to use outside of a functional component.DashContext.useSelector
to create custom selectors for the connected redux store.DashContext.useStore
get the Dash app redux store.DashContext.useDispatch
to dispatch new actions on the Dash redux store.
- Add
dash_component_api.getLayout(path)
to replace_dashprivate_layout
.
- Add
- #3029 Add pip install based hooks to Dash functionalities.
- Packages can add an
entry_points
with keydash-hooks
to theirsetup.py
for a module to be run when a Dash app is started. - Add
dash.hooks
methods to hook into Dash apps.hooks.layout
takes the layout as argument and must return a layout, can be used to wrap or add to the layout of Dash apps.hooks.callback
defines a callback to be added to Dash apps.hooks.clientside_callback
defines a clientside callback to be added to Dash apps.hooks.setup
is called before a Dash app is started to get an instance of the app as first argument.hooks.error
to receive all callback errors.hooks.index
to change theDash.index_string
.hooks.route
to add a Flask route to the Dash app.
- Packages can add an
Removed
- #3066
loading_state
removed from components props. - #3078 Deprecations removals
- Removed
dash.development.component_loader
, components libraries now required to generate the components withdash-generate-components
. Dash.run_server
has been removed in favor ofDash.run
.- Removed
dcc.LogoutButton
component. - Renamed all
long
references tobackground
.
- Removed
Changed
- #3093 Changed default React version to 18.3.1
defaultProps
on functional components now emits a deprecation warning.- Deprecation notice on strings refs.
Fixed
Dash v2.18.2
Fixed
- #2939 Fixes bug with whitespace on DataTable when
merge_duplicate_header=True
. Fixes #2870 - #2994 Keep generated doc-string order for shape or exact props. Fixes #2990
- #3011 Fixed an exception error caused by assigning
None
to array properties withexact
orshape
element types. Fixes #3010 - #2991 Add support for URL decoding of the search parameter for pages.
- #3025 Fix no output callback with error handler setting the response to NoUpdate and triggering an error.
- #3034 Remove whitespace from
metadata.json
files to reduce package size. - #3009 Performance improvement on (pattern-matching) callbacks.
- #3028 Fix jupyterlab v4 support.
- #2926 Fix components defaultProps with react 18.3.1
- #3051 Add missing request data to callback context. Fix #2235.