Skip to content

Releases: plotly/dash

Dash v3.0.4

24 Apr 19:08
a530052
Compare
Choose a tag to compare

[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

14 Apr 18:12
551d149
Compare
Choose a tag to compare

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 underscored dash_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

01 Apr 19:45
2525a3d
Compare
Choose a tag to compare

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 in dcc.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 the dashRenderType = true must be set on the component, eg (Div.dashRenderType = true)

Dash v3.0.1

25 Mar 15:11
cbbbfcb
Compare
Choose a tag to compare

Fixed

  • #3239 Remove stringcase dependency, fix #3238
  • #3232 Add error handling for when localStorage is disabled

Dash v3.0.0

17 Mar 19:53
304cfb2
Compare
Choose a tag to compare

Added

  • #2276 Added component prop static typing for Python.
    • #3152 Custom Python prop typing for component library.
      • Added -t, --custom-typing-module argument to dash-generate-components CLI, default to dash_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
    • #3035 PropType generation for Typescript components allowing runtime prop validation when in debug mode.
  • #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 key dash-hooks to their setup.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 the Dash.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.
  • #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 in window.dash_component_api. #3175
    • Add window.dash_component_api.ExternalWrapper to render Dash components that are not part of the layout tree. #3170 #3183

Removed

  • #3066 loading_state removed from components props.
  • #3078 Deprecations removals
    • Removed dash.development.component_loader, components libraries now required to generate the components with dash-generate-components.
    • Dash.run_server has been removed in favor of Dash.run.
    • Removed dcc.LogoutButton component.
    • Renamed all long references to background.

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

04 Mar 20:42
e7d95c5
Compare
Choose a tag to compare
Dash v3.0.0rc4 Pre-release
Pre-release

Fixed

  • #3197 Fix initial props not updated in setProps causing the initial value of props to not be able to be set again.
  • #3183 Fix external wrapper requiring id.
  • #3184 Fix devtools dark mode button color issue and other ui fixes for the version checker.

Changed

  • #3183 Change ExternalWrapper props to component, componentPath.
  • #3197 Improved layout path sum stringify of paths.

Dash v3.0.0rc3

21 Feb 18:18
0049cab
Compare
Choose a tag to compare
Dash v3.0.0rc3 Pre-release
Pre-release

[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 in window.dash_component_api.

Fixed

  • #3175 Fix ExternalWrapper rendering children and support pattern matching ids.

Dash v3.0.0rc2

18 Feb 20:30
3541ee4
Compare
Choose a tag to compare
Dash v3.0.0rc2 Pre-release
Pre-release

Added

  • #3152 Custom Python prop typing for component library.
    • Added -t, --custom-typing-module argument to dash-generate-components CLI, default to dash_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
  • #3170 Add window.dash_component_api.ExternalWrapper to render Dash components that are not part of the layout tree.

Fixed

  • #3142 Fix typing generation for id and dates props.
  • #3164 Fix typing on progress and cancel background callback.
  • #3157 Fix hook priority.

Dash v3.0.0rc1

28 Jan 21:11
b711247
Compare
Choose a tag to compare
Dash v3.0.0rc1 Pre-release
Pre-release

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.
  • #3029 Add pip install based hooks to Dash functionalities.
    • Packages can add an entry_points with key dash-hooks to their setup.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 the Dash.index_string.
      • hooks.route to add a Flask route to the Dash app.

Removed

  • #3066 loading_state removed from components props.
  • #3078 Deprecations removals
    • Removed dash.development.component_loader, components libraries now required to generate the components with dash-generate-components.
    • Dash.run_server has been removed in favor of Dash.run.
    • Removed dcc.LogoutButton component.
    • Renamed all long references to background.

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
  • #3130 Fix HOST variable when using conda.
  • #3066 Improve performance of context components re-rendering.

Dash v2.18.2

04 Nov 21:17
a1049de
Compare
Choose a tag to compare

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 with exact or shape 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.