Skip to content

Dash v1.12.0

Compare
Choose a tag to compare
@Marc-Andre-Rivet Marc-Andre-Rivet released this 05 May 18:52
· 4438 commits to dev since this release

Dash and Dash-Renderer

Added

  • #1228 Adds control over firing callbacks on page (or layout chunk) load. Individual callbacks can have their initial calls disabled in their definition @app.callback(..., prevent_initial_call=True) and similar for app.clientside_callback. The app-wide default can also be changed with app=Dash(prevent_initial_callbacks=True), then individual callbacks may disable this behavior.
  • #1201 New attribute app.validation_layout allows you to create a multi-page app without suppress_callback_exceptions=True or layout function tricks. Set this to a component layout containing the superset of all IDs on all pages in your app.
  • #1078 Permit usage of arbitrary file extensions for assets within component libraries

Fixed

  • #1224 Fixes #1223, a very specific situation in which initial callbacks will not fire.
  • #1220 Fixes #1216, a set of related issues about pattern-matching callbacks with ALL wildcards in their Output which would fail if no components matched the pattern.
  • #1212 Fixes #1200 - prior to Dash 1.11, if none of the inputs to a callback were on the page, it was not an error. This was, and is now again, treated as though the callback raised PreventUpdate. The one exception to this is with pattern-matching callbacks, when every Input uses a multi-value wildcard (ALL or ALLSMALLER), and every Output is on the page. In that case the callback fires as usual.
  • #1201 Fixes #1193 - prior to Dash 1.11, you could use flask.has_request_context() == False inside an app.layout function to provide a special layout containing all IDs for validation purposes in a multi-page app. Dash 1.11 broke this when we moved most of this validation into the renderer. This change makes it work again.

Dash-Core-Components

Changed

  • #793 Added title key (i.e. HTML title attribute) to option dicts in dcc.Dropdown options[] list property.

Fixed

  • #792 Improved the robustness of dcc.Store components, fixing #456 whereby persistent storage could become corrupted, and fixing lifecycle issues that prevented adding Store components to the page after initial loading.
  • #790 Fixed bug where the dcc.Dropdown dropdown was hidden by the dash_table.DataTable fixed rows and columns.

Updated

  • #800
    • Upgraded plotly.js to 1.54.1
    • Feature release of Plotly.js 1.54.0 which:
      • Introduces new drag modes "drawline", "drawrect", "drawcircle", "drawopenpath", "drawclosedpath", adds optional modebar buttons for drawing & removing new shapes inside cartesian subplots, adds newshape and activeshape attributes to layout, and adds editable and fillrule attributes to layout.shapes#4775
    • Add angle and allowoverlap attributes to marker of scattermapbox traces#4575, #4794
    • Also contains various other fixes

Dash-Table

Added

  • #729 Improve conditional styling
    • style_data_conditional: Add support for row_index and column_id array of values
    • style_header_conditional: Add support for header_index and column_id array of values
    • style_filter_conditional: Add support for column_id array of values
    • style_cell_conditional: Add support for column_id array of values
    • style_data_conditional: Add new conditions state: 'active'|'selected' to customize selected and active cell styles

Fixed

  • #722 Fix a bug where row height is misaligned when using fixed_columns and/or fixed_rows
  • #728 Fix copy/paste on readonly cells
  • #724 Fix active_cell docstring: clarify optional nature of the row_id nested prop
  • #732 Fix a bug where opening a dropdown scrolled the table down its last row
  • #731 Fix a bug where data=None and columns=None caused the table to throw an error
  • #766 Sanitize table id for stylesheet injection (fixes usage with Pattern-Matching callbacks)

Changed

  • #758 Improve error message for invalid filter queries