Skip to content

Releases: plotly/dash

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.

Dash v2.18.1

12 Sep 16:11
5c7287f
Compare
Choose a tag to compare

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, use run instead.
  • #2899 Deprecate dcc.LogoutButton, can be replaced with a html.Button or html.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 use background_callback_manager instead.

Dash v2.18.0

04 Sep 14:31
851721b
Compare
Choose a tag to compare

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 and set_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

Dash v2.17.1

12 Jun 15:55
791c1eb
Compare
Choose a tag to compare

Fixed

  • #2860 Fix dcc.Loading to apply overlay_style only to the children and not the spinner. Fixes #2858
  • #2854 Fix dcc.Dropdown resetting empty values to null and triggering callbacks. Fixes #2850
  • #2859 Fix base patch operators. fixes #2855
  • #2856 Fix multiple consecutive calls with same id to set_props only keeping the last props. Fixes #2852
  • #2867 Fix clientside no output callback. Fixes #2866
  • #2876 Fix pattern matching in callback running argument. Fixes #2863

Dash v2.17.0

03 May 17:00
95520f7
Compare
Choose a tag to compare

Added

  • #2832 Add dash startup route setup on Dash init.
  • #2819 Add dash subcomponents receive additional parameters passed by the parent component. Fixes #2814.
  • #2826 When using Pages, allows for app.title and (new) app.description to be used as defaults for the page title and description. Fixes #2811.
  • #2795 Allow list of components to be passed as layout.
  • #2760 New additions to dcc.Loading resolving multiple issues:
    • delay_show and delay_hide props to prevent flickering during brief loading periods (similar to Dash Bootstrap Components dbc.Spinner)
    • overlay_style for styling the loading overlay, such as setting visibility and opacity for children
    • target_components specifies components/props triggering the loading spinner
    • custom_spinner enables using a custom component for loading messages instead of built-in spinners
    • display overrides the loading status with options for "show," "hide," or "auto"
  • #2822 Support no output callbacks. Fixes #1549
  • #2822 Add global set_props. Fixes #2803

Fixed

  • #2362 Global namespace not polluted any more when loading clientside callbacks.
  • #2833 Allow data url in link props. Fixes #2764
  • #2822 Fix side update (running/progress/cancel) dict ids. Fixes #2111
  • #2817 Change hashing algorithm from md5 to sha256. Fixes #2697
  • #2816 Fix dcc.Dropdown value not updated when option is removed. Fixes #2733
  • #2823 Fix None in "wait" methods causing incorrectly passing tests. Fixes #2818

Dash v2.16.1

06 Mar 20:00
6c50a18
Compare
Choose a tag to compare

Fixed

  • #2783 Remove dynamic loading.

Dash v2.16.0

01 Mar 20:26
add7112
Compare
Choose a tag to compare

Fixed

  • #2756 Prevent false dangerous link warning. Fixes #2743
  • #2752 Fixed issue with Windows build, for first time build on Windows, the dev needs to use npm run first-build

Changed

  • #2734 Configure CI for Python 3.10 #1863
  • #2735 Configure CI for Python 3.8 and 3.12, drop support for Python 3.6 and Python 3.7 #2736

Added

  • #2762 Add dynamic loading of component libraries.
    • Add dynamic_loading=True to dash init.
    • Add preloaded_libraries=[] to dash init, included libraries names will be loaded on the index like before.
  • #2758
    • exposing setProps to dash_clientside.clientSide_setProps to allow for JS code to interact directly with the dash eco-system
  • #2730 Load script files with .mjs ending as js modules
  • #2770 Add running to regular callbacks.

Dash v2.15.0

31 Jan 18:19
115aa4e
Compare
Choose a tag to compare

Added

  • #2695 Adds triggered_id to dash_clientside.callback_context. Fixes #2692
  • #2723 Improve dcc Slider/RangeSlider tooltips. Fixes #1846
    • Add tooltip.template a string for the format template, {value} will be formatted with the actual value.
    • Add tooltip.style a style object to give to the div of the tooltip.
    • Add tooltip.transform a reference to a function in the window.dccFunctions namespace.
  • #2732 Add special key _dash_error to setProps, allowing component developers to send error without throwing in render. Usage props.setProps({_dash_error: new Error("custom error")})

Fixed

  • #2732 Sanitize html props that are vulnerable to xss vulnerability if user data is inserted. Fix Validate url to prevent XSS attacks #2729

Changed

  • #2652 dcc.Clipboard supports htm_content and triggers a copy to clipboard when n_clicks are changed
  • #2721 Remove ansi2html, fixes #2613

Dash v2.14.2

28 Nov 00:56
Compare
Choose a tag to compare

Fixed

  • #2700 Fix _allow_dynamic_callbacks for newly-added components.