Skip to content

Releases: plotly/dash

Dash v2.9.2

29 Mar 18:52
f3d4ffe
Compare
Choose a tag to compare

Fixed

  • #2479 Fix KeyError "Callback function not found for output [...], , perhaps you forgot to prepend the '@'?" issue when using duplicate callbacks targeting the same output. This issue would occur when the app is restarted or when running with multiple gunicorn workers.
  • #2471 Fix allow_duplicate output with clientside callback, fix #2467
  • #2473 Fix background callbacks with different outputs but same function, fix #2221

Dash v2.9.1

17 Mar 15:26
40d5f0a
Compare
Choose a tag to compare

Fixed

  • #2461 Fix pytest plugin make report when testing not installed, fix #2420

Dash v2.9.0

16 Mar 14:59
54e765b
Compare
Choose a tag to compare

Breaking

  • #2450 Set label style display: block if inline is false in RadioItems & Checklist components. To keep previous behavior, set inline=True. This is already how it was described and worked in our documentation and other places with CSS stylesheets that set the default orientation of RadioItems and Checklist options to vertical (including Dash Design Kit), but for unstyled pages it is a breaking change.

Added

  • #2392 Improved pages feature:
    • Accept an absolute path or a pathlib.path for pages_folder, to match assets_folder
    • Fix inferring use_pages=True when you supply a custom pages_folder
    • Fix for pages_folder that includes special characters
    • New test fixture clear_pages_state
    • Make imported pages act more like regular Python modules
  • #2068 Added refresh="callback-nav" in dcc.Location. This allows for navigation without refreshing the page when url is updated in a callback.
  • #2417 Add wait_timeout property to customize the behavior of the default wait timeout used for by wait_for_page, fix #1595
  • #2417 Add the element target text for wait_for_text* error message, fix #945
  • #2425 Add add_log_handler=True to Dash init, if you don't want a log stream handler at all.
  • #2260 Experimental support for React 18. The default is still React v16.14.0, but to use React 18 you can either set the environment variable REACT_VERSION=18.2.0 before running your app, or inside the app call dash._dash_renderer._set_react_version("18.2.0"). THIS FEATURE IS EXPERIMENTAL. It has not been tested with component suites outside the Dash core, and we may add or remove available React versions in any future release.
  • #2414 Add dash.Patchfor partial update Output props without transferring the previous value in a State.
  • #2414 Add allow_duplicate to Output arguments allowing duplicate callbacks to target the same prop.

Fixed

  • #2429 Fix side effect on updating possible array children triggering callbacks, fix #2411.
  • #2417 Disable the pytest plugin if dash[testing] not installed, fix #946.
  • #2417 Do not swallow the original error to get the webdriver, easier to know what is wrong after updating the browser but the driver.
  • #2425 Fix multiple log handler added unconditionally to the logger, resulting in duplicate log message.
  • #2415 Fix background callbacks progress not deleted after fetch.
  • #2426 Set default interval to 1 second for app.long_callback, restoring the behavior it had before v2.6.0 when we introduced backround=True callbacks.

Changed

  • #2425 Moved the logger namespace to dash.dash, as library logger it should be on that namespace instead of the user app.

Updated

  • #2241 Update Plotly.js to v2.20.0 from v2.18.0.
    • Feature release 2.20.0 adds automargin to the main plot title.
    • Feature release 2.19.0 adds text labels to layout.shapes, and adds a labelalias property to replace specific axis tick labels.
    • Patch releases 2.18.1,
      2.18.2,
      2.19.1 fix various bugs.

Dash v2.8.1

30 Jan 17:00
2205b2f
Compare
Choose a tag to compare

Fixed

  • #2400 Added disable_n_clicks=True to the html.Div components in page_container.

Dash v2.8.0

24 Jan 16:39
c5ccf38
Compare
Choose a tag to compare

Added

  • #2389 Added disable_n_clicks prop to all html components to make it possible to remove onclick event listeners

Fixed

  • #2388 Fix #2368 ordering or Pattern Matching ALL after update to the subtree.

Updated

  • #2367 Updated the default favicon.ico to the current Plotly logo
  • #2394 Update Plotly.js to v2.18.0 from v2.16.4.
    • Feature release 2.18.0 adds sync tickmode, so several axes can share ticks and gridlines
    • Feature release 2.17.0 adds automargin for multiple Y axes, a grouped mode for scatter traces, and rounded corners on treemap traces
    • Patch releases 2.17.1 and 2.16.5 fix various bugs

Dash v2.7.1

12 Dec 16:06
3c3236b
Compare
Choose a tag to compare

Fixed

  • #2344 Fix #1519, a case where dependent callbacks can be called too many times and with inconsistent inputs
  • #2332 Add key to wrapped children props in list.
  • #2336 Fix inserted dynamic ids in component as props.

Updated

  • #2361 Dependencies upgrade.
    • Update Plotly.js to v2.16.4 (from v2.16.1): fix several bugs, particularly related to updating mapbox graphs.
  • #2363 Update html attributes for ol

Dash v2.7.0

03 Nov 15:21
680a9b0
Compare
Choose a tag to compare

Removed

  • #2282 Dropped support for Internet Explorer. Our build process now targets vendor-supported browsers released in the last 7 years. Currently this means ES2015 but over time this will natually advance as older browser versions pass the 7-year threshold.

Added

  • #2261 Added new placeholder_text property to filterOptions for DataTable which allows overriding the default filter field placeholder.

Updated

  • #2282 Widespread dependency upgrades
    • Update Plotly.js to v2.16.1 (from v2.13.3)
      • Feature release 2.14.0 adds arrows to sankey links, and editSelection option to config.
      • Feature release 2.15.0 adds directed arrowheads and markers to scatter and scatter-like traces and increased control of automargin and legend sizing
      • Feature release 2.16.0 adds clustering to scattermapbox traces and restricted bounds to mapbox plots.
      • Patch releases 2.15.1 and 2.16.1 fix several bugs.

Fixed

  • #2292 Pages: find the 404 page even if pages_folder is nested, or the 404 page is nested inside pages_folder.
  • #2265 Removed deprecated before_first_request as reported in #2177.
  • #2257 Fix tuple types in the TypeScript component generator.
  • #2293 Fix Dropdown useMemo not detecting equal objects
  • #2277 Use dropdown styles from node_modules, instead of from stored css file
  • #2105 Fix order of dash component libraries imports.

Changed

  • #2291 Move flask-compress dependency to new extras requires dash[compress]

Dash v2.6.2

23 Sep 14:50
1f18e39
Compare
Choose a tag to compare

Fixed

  • #2237 Ensure calls to plotly.js from dcc.Graph are properly sequenced even if React initiates multiple render cycles in quick succession.
  • #2218 Fix bug #1348 Validate children prop (required or not).
  • #2223 Exclude hidden folders when building dash.page_registry.
  • #2182 Fix #2172 Make it so that when using pages, if suppress_callback_exceptions=True the validation_layout is not set.
  • #2152 Fix bug #2128 preventing rendering of multiple components inside a dictionary.
  • #2187 Fix confusing error message when trying to use pytest fixtures but dash[testing] is not installed.
  • #2202 Fix bug #2185 when you copy text with multiple quotes into a table
  • #2226 Fix #2219 pages register & background callbacks.

Dash v2.6.1

02 Aug 18:10
d0d7749
Compare
Choose a tag to compare

Fixed

  • #2175 Fix #2173 callback output of ndarray and no_update check.
  • #2146 Remove leftover debug console.log statement.
  • #2168 Reverts #2126 (supporting redirect from root when using pages) until the new bugs introduced by that PR are fixed.

Updated

  • #2167 Update Plotly.js to v2.13.3 (from v2.13.1) including patch release v2.13.2 and patch release v2.13.3.
    • Emit plotly_selected event on plot API calls and GUI edits.
    • Fix sankey select error (regression introduced in 2.13.0).
    • Handle missing drag layer of invisible sankey traces to fix select error.
    • Emit selection event in shape drawing dragmodes when an existing selection is modified.

Dash v2.6.0

15 Jul 00:57
c94e059
Compare
Choose a tag to compare

Added

  • #2109 Add maxHeight to Dropdown options menu.
  • #2039 Long callback changes:
    • Add background=False to dash.callback to use instead of app.long_callback.
    • Add previous app.long_callback arguments to dash.callback (interval, running, cancel, progress, progress_default, cache_args_to_ignore, manager)
  • #2110 Add search prop to dcc.Dropdown options, allowing to search the dropdown options with something other than the label or value.

Fixed

  • #2126 Fix bug where it was not possible to redirect from root when using pages.
  • #2114 Fix bug #1978 where text could not be copied from cells in tables with cell_selectable=False.
  • #2102 Fix bug as reported in dash-labs #113 where files starting with . were not excluded when building dash.page_registry.
  • #2100 Fixes bug where module name in for a custom not_found_404 page is incorrect in the dash.page_registry when not using the pages folder.
  • #2098 Accept HTTP code 400 as well as 401 for JWT expiry
  • #2097 Fix bug #2095 with TypeScript compiler and React.FC empty valueDeclaration error & support empty props components.
  • #2104 Fix bug #2099 with Dropdown clearing search value when a value is selected.
  • #2039 Fix bugs in long callbacks:
    • Fix #1769 and #1852 short interval makes job run in loop.
    • Fix #1974 returning no_update or raising PreventUpdate not supported with celery.
    • Fix use of the callback context in celery long callbacks.
    • Fix support of pattern matching for long callbacks.
  • #2110 Fix dcc.Dropdown search with component as prop for option label.
  • #2131 Add encoding to file open calls. Fix bug #2127.

Changed

  • #2116 Rename long callbacks to background callbacks
    • Deprecated dash.long_callback.managers.CeleryLongCallbackManager, use dash.CeleryManager instead.
    • Deprecated dash.long_callback.managers.DiskcacheLongCallbackManager, use dash.DiskcacheManager instead.
    • Deprecated dash constructor argument long_callback_manager in favor of background_callback_manager.

Updated

  • #2134 Upgrade Plotly.js to v2.13.1 (from v2.12.1) including feature release 2.13.0 and patch release 2.13.1
    • Add persistent selections via layout attributes selections, newselection, and activeselection, along with an updated UI allowing you to modify a selection you created.
    • Add unselected line styling to parcoords traces.
    • Add more quartile algorithms to violin traces.
    • More flexible axis automargin behavior.
    • And several other enhancements and bug fixes.