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.