Releases: plotly/dash
Releases · plotly/dash
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.
Dash v2.18.1
Fixed
- #2987 Fix multioutput requiring same number of no_update. Fixes #2986
- 2988 Fix error handler and grouped outputs. Fixes #2983
- #2841 Fix typing on Dash init.
- #1548 Enable changing of selenium url, fix for selenium grid support.
Deprecated
- #2985 Deprecate dynamic component loader.
- #2985 Deprecate
run_server
, userun
instead. - #2899 Deprecate
dcc.LogoutButton
, can be replaced with ahtml.Button
orhtml.A
. eg:html.A(href=os.getenv('DASH_LOGOUT_URL'))
on a Dash Enterprise instance. - #2995 Deprecate
Dash.__init__
keywords:- The
plugins
keyword will be removed. - Old
long_callback_manager
keyword will be removed, can usebackground_callback_manager
instead.
- The
Dash v2.18.0
Added
- #2881 Add outputs_list to window.dash_clientside.callback_context. Fixes #2877.
- #2903 Add callback on_error handler, either globally on Dash init or per callback basis. Receives the exception as first argument, can return output(s) or None for
no_update
. Access to original callback context is preserved andset_props
works inside the error handler. - #2936 Adds support for TypeScript 5.5+.
- #2789 Add library loading capacity to
_allow_dynamic_callbacks
Fixed
- #2898 Fix error thrown when using non-existent components in callback running keyword. Fixes #2897.
- #2892 Fix ensures dcc.Dropdown menu maxHeight option works with Datatable. Fixes #2529 #2225
- #2896 The tabIndex parameter of Div can accept number or string type. Fixes #2891
- #2900 Allow strings in layout list. Fixes #2890
- #2908 Fix when environment variables are ignored by Dash.run() at runtime. Fixes #2902
- #2888 Add id to dcc.Loading DOM. Fixes #2878
- #2922 Fix background callback hash_function when source is unavailable. Fixes #1885
- #2915 Fix 'AttributeError' when layout is a function that returns a list of components. Fixes #2905
- #2956 Add missing useEffect dependency to dcc.Loading component.
- #2909 Rehighlights dcc.Markdown when it is updated, fixes #2895