Releases: plotly/dash
Dash v2.6.2
Fixed
- #2237 Ensure calls to
plotly.js
fromdcc.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
thevalidation_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
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
dragmode
s when an existing selection is modified.
- Emit
Dash v2.6.0
Added
- #2109 Add
maxHeight
to Dropdown options menu. - #2039 Long callback changes:
- Add
background=False
todash.callback
to use instead ofapp.long_callback
. - Add previous
app.long_callback
arguments todash.callback
(interval
,running
,cancel
,progress
,progress_default
,cache_args_to_ignore
,manager
)
- Add
- #2110 Add
search
prop todcc.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 buildingdash.page_registry
. - #2100 Fixes bug where module name in for a custom
not_found_404
page is incorrect in thedash.page_registry
when not using thepages
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:
- #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
, usedash.CeleryManager
instead. - Deprecated
dash.long_callback.managers.DiskcacheLongCallbackManager
, usedash.DiskcacheManager
instead. - Deprecated dash constructor argument
long_callback_manager
in favor ofbackground_callback_manager
.
- Deprecated
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
, andactiveselection
, 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.
- Add persistent selections via layout attributes
Dash v2.5.1
Fixed
- #2087 Fix bug #2086 in which using id as a key within a component's id breaks the new callback context's
args_grouping
function. - #2084 In dash 2.5.0, a default viewport meta tag was added as recommended for mobile-optimized sites by mdn
This feature can be disabled by providing an empty viewport meta tag. e.g.app = Dash(meta_tags=[{"name": "viewport"}])
- #2090, #2092. Fixed bug where the
path
to thepages_folder
was incorrect on Windows.
Removed
- #2087 Removed the undocumented callback context
args_grouping_values
property which was incompatible with pattern-matching callbacks.
Dash v2.5.0
Added
- #1947 Added
pages
- a better way to build multi-page apps. For more information see the forum post. - #1965 Add component as props.
- #2049 Added
wait_for_class_to_equal
andwait_for_contains_class
methods todash.testing
Changed
- #2050 Changed
find_element
andfind_elements
to accept anattribute
argument that aligns with Selenium'sBy
class, allowing you to search elements by other attributes. Default value isCSS_SELECTOR
to maintain backwards compatibility with previousfind_elements
.
Fixed
- #2043 Fix bug
#2003 in which
dangerously_allow_html=True
+mathjax=True
works in some cases, and in some cases not. - #2065 Fix bug #2064 rendering of
dcc.Dropdown
with a value but no options. - #2047 Fix bug #1979 in which
DASH_DEBUG
as environment variable gets ignored. - #2070 Fix bug #2066 nested types triggering maximum call stack error when building typescript components.
Dash v2.4.1
Fixed
- Fix #2045 import error when using pytest but
dash[testing]
is not installed.
Dash v2.4.0
Added
-
#1952 Improved callback_context
- Closes #1818 Closes #1054
- adds
dash.ctx
, a more concise name fordash.callback_context
- adds
ctx.triggered_prop_ids
, a dictionary of the component ids and props that triggered the callback. - adds
ctx.triggered_id
, theid
of the component that triggered the callback. - adds
ctx.args_grouping
, a dict of the inputs used with flexible callback signatures.
-
#2009 Add support for Promises within Client-side callbacks as requested in #1364.
-
#1956 Add TypeScript components generation.
-
#2034 Add
link_target
prop to dcc.Markdown component. Closes #1827 -
#2035 Add type annotations to testing fixtures.
Fixed
-
#2029 Restrict the number of props listed explicitly in generated component constructors - default is 250. This prevents exceeding the Python 3.6 limit of 255 arguments. The omitted props are still in the docstring and can still be provided the same as before, they just won't appear in the signature so autocompletion may be affected.
-
#1968 Fix bug #1877, code which uses
merge_duplicate_headers
andstyle_header_conditional
to highlight columns, it incorrectly highlights header cells. -
#2015 Fix bug #1854 in which the combination of row_selectable="single or multi" and filter_action="native" caused the JS error.
-
#1976 Fix #1962 in which DatePickerSingle and DatePickerRange are extremely slow when provided a long list of disabled_days.
-
#2035 Fix #2033 In-App error reporting does not render HTML.
-
#1970 dcc.Dropdown Refactor fixes:
Changed
-
#1751 Rename
app.run_server
toapp.run
while preservingapp.run_server
for backwards compatibility. -
#1839 The
callback
decorator returns the original function, not the wrapped function, so that you can still call these functions directly, for example in tests. Note that in this case there will be no callback context so not all callbacks can be tested this way. -
#2016 Drop the 375px width from default percy_snapshot calls, keep only 1280px
-
#2027 Improve the error message when a user doesn't wrap children in a list
Updated
- #2016, #2032, and #2042 Widespread dependency upgrades
- Upgrade Plotly.js to v2.12.1 (from v2.11.0).
- Upgrade
black
to v22.3.0 for Python 3.7+ - if you usedash[ci]
and you callblack
, this may alter your code formatting slightly, including more consistently breaking Python 2 compatibility. - Many other mainly JS dependency upgrades to the internals of Dash renderer and components. These may patch bugs or improve performance.
Dash v2.3.1
Dash v2.3.0
Added
- #1949 Add built-in MathJax support to both
dcc.Markdown
anddcc.Graph
. A new boolean propmathjax
was added to these two components, defaulting toFalse
. Setmathjax=True
to enable math rendering. This work uses MathJax v3, althoughdcc.Graph
and Plotly.js can also be used with MathJax v2.- In
dcc.Markdown
this has two flavors: inline math is any content between single dollar signs, for example"$E=mc^2$"
, and "display" math (on its own line, potentially multi-line) is delimited by double dollar signs. - In
dcc.Graph
, most text fields (graph and axis titles, trace names, scatter and bar text) can use math, and it's enabled with single dollar sign delimiters. A limitation here is that currently a given piece of text can only be one or the other: if math is found, everything outside the delimiters is ignored. See https://plotly.com/python/LaTeX/ for details. - For an intro to LaTeX math, see https://en.wikibooks.org/wiki/LaTeX/Mathematics.
- Big thanks to Equinor for sponsoring this development, including the related work in Plotly.js!
- In
Updated
- #1949 Upgrade Plotly.js to v2.11.0 (from v2.9.0)
- Feature release 2.10.0:
- Support for MathJax v3
fillpattern
forscatter
traces with filled area
- Feature release 2.11.0:
- Every trace type can now be rendered in a stricter CSP environment, specifically avoiding
unsafe-eval
. Please note: theregl
-based traces (scattergl
,scatterpolargl
,parcoords
, andsplom
) are only strict in thestrict
bundle, which is NOT served by default in Dash. To use this bundle with Dash, you must either download it and put it in yourassets/
folder, or include it as anexternal_script
from the CDN: https://cdn.plot.ly/plotly-strict-2.11.0.min.js. All other trace types are strict in the normal bundle.
- Every trace type can now be rendered in a stricter CSP environment, specifically avoiding
- Patch release 2.10.1 containing a bugfix for
mesh3d
traces.
- Feature release 2.10.0:
Fixed
-
#1915 Fix bug #1474 when both dcc.Graph and go.Figure have animation, and when the second animation in Figure is executed, the Frames from the first animation are played instead of the second one.
-
#1953 Fix bug #1783 in which a failed hot reloader blocks the UI with alerts.
-
#1942 Fix bug #1663 preventing pie traces from sending
customdata
withclickData
and other events.
Dash v2.2.0
Added
- #1923:
dash.get_relative_path
dash.strip_relative_path
dash.get_asset_url
This is similar todash.callback
where you don't need theapp
object. It makes it possible to use these
functions in thepages
folder of a multi-page app without running into the circularapp
imports issue.
Updated
-
#1911 Upgrade Plotly.js to v2.9.0 (from v2.8.3).
- Adds
ticklabelstep
to axes to reduce tick labels while still showing all ticks. - Displays the plotly.js version when hovering on the modebar. This helps debugging situations where there might be multiple sources of plotly.js, for example
/assets
vs the versions built intodcc
orddk
.
- Adds
-
#1930 Upgrade JavaScript dependencies across renderer and all components.