Releases: plotly/dash
Releases · plotly/dash
Dash v1.8.0
Dash and Dash-Renderer
Added
- #1073 Two new functions to simplify usage handling URLs and pathnames:
app.get_relative_path
&app.trim_relative_path
.
These functions are particularly useful for apps deployed on Dash Enterprise where the apps served under a URL prefix (the app name) which is unlike apps served on localhost:8050.app.get_relative_path
returns a path with the config settingrequests_pathname_prefix
prefixed. Useapp.get_relative_path
anywhere you would provide a relative pathname, likedcc.Link(href=app.relative_path('/page-2'))
or even as an alternative toapp.get_asset_url
with e.g.html.Img(src=app.get_relative_path('/assets/logo.png'))
.app.trim_relative_path
a path withrequests_pathname_prefix
and leading & trailing
slashes stripped from it. Use this function in callbacks that deal withdcc.Location
pathname
routing.
Example usage:
app.layout = html.Div([ dcc.Location(id='url'), html.Div(id='content') ]) @app.callback(Output('content', 'children'), [Input('url', 'pathname')]) def display_content(path): page_name = app.strip_relative_path(path) if not page_name: # None or '' return html.Div([ html.Img(src=app.get_relative_path('/assets/logo.png')), dcc.Link(href=app.get_relative_path('/page-1')), dcc.Link(href=app.get_relative_path('/page-2')), ]) elif page_name == 'page-1': return chapters.page_1 if page_name == "page-2": return chapters.page_2
Changed
- #1035 Simplify our build process.
- #1074 Error messages when providing an incorrect property to a component have been improved: they now specify the component type, library, version, and ID (if available).
Fixed
- #1037 Fix no_update test to allow copies, such as those stored and retrieved from a cache.
Dash-Core-Components
Added
- #711 Added support for
dcc.Link
(dccLink) and nesteddcc.Markdown
(dccMarkdown) react components inside ofdcc.Markdown
- #706
- Added new
responsive
property that overrides the underlying Plotly.js graph responsiveness from Dash-land - Added responsiveness on graph parent element resize (previously only worked on window.resize)
- Added new
dash-graph--pending
class to dcc.Graph, present while resizing, (re-)rendering, loading
- Added new
Changed
- #723 Changed npm package content to allow source code inclusion from other projects
- #725 Improve async graph performance by parallelizing resource fetching instead of fetching sequentially
- #720
highlight.js
is now bundled into the package, and no longer sets thewindow.hljs
variable. Similarly to howplotly.js
is handled, it is overridden by a user-provided version if one exists.
Updated
- #732
- Upgraded plotly.js to 1.52.1
- Feature release 1.52.0 which contains:
- Patch release 1.52.1 containing several bug fixes.
- #706
- Upgraded plotly.js to 1.51.3
Dash-Table
Added
- #606 Add markdown support for table cells. Cells will be rendered as markdown if the column
presentation
is specified asmarkdown
.- Add highlight.js for syntax highlighting. If
window.hljs
is specified, that will be used for highlighting instead.
- Add highlight.js for syntax highlighting. If
Fixed
Dash v1.7.0
Dash and Dash-Renderer
Added
- #967 Add support for defining
clientside JavaScript callbacks via inline strings. - #1020 Allow
visit_and_snapshot
API indash.testing.browser
to stay on the page so you can run other checks.
Changed
- #1026 Better error message when you forget to wrap multiple
children
in an array, and they get passed to other props.
Fixed
- #1018 Fix the
dash.testing
stop API with process application runner in Python2. Usekill()
instead ofcommunicate()
to avoid hanging. - #1027 Fix bug with renderer callback lock never resolving with non-rendered async component using the asyncDecorator
Dash-Core-Components
Updated
Changed
- #695 Improvements to Slider and RangeSlider
- Marks outside of the range specified by
min
andmax
are now omitted when the slider renders. - Padding is now dependent on the orientation (vertical or horizontal), and whether or not tooltips are always displayed.
- The whitespace is now preserved for
marks
labels.
- Marks outside of the range specified by
Added
- #695 Added new property
verticalHeight
to Slider and RangeSlider, to allow the user to specify the height (in px) of vertical sliders. This defaults to400
.
Dash v1.6.1
Dash
Fixed
- #1006 Fix IE11 / ES5 compatibility and validation issues
- #1006 Fix bug with renderer wrapper component TreeContainer to prevent useless re-renders
- #1001
- Fix and improve the
clear_input()
API indash.testing
, so it's more robust handling reactinput
. - make the
percy_snapshot()
API more robust, and the timeout ofwait_for_callbacks
(if set to True) will not fail the snapshot execution, but logged as potential error.
- Fix and improve the
Dash-Core-Components
Fixed
- #696 Fix IE11 compatibility issues and ES5 compatibility and validation
Changed
- #687 Use
start_date
,min_date_allowed
,end_date
, ormax_date_allowed
for the initial visible month if the value of the parameterinitial_visible_month
is not supplied.
Dash-Html-Components
Fixed
- #143 Fix IE11 compatibility issues and ES5 compatibility and validation
Dash-Table
Fixed
- #637 Fix multiple issues
- Fix IE11 compatibility issues and add ES5 compatibility and validation
- Fix a bug with
loading_state
being handled incorrectly, causing the table to steal focus
Dash v.1.6.0
Dash
Fixed
- #999 Fix fingerprint for component suites with
metadata
in version. - #983 Fix the assets loading issues when dashR application runner is handling with an app defined by string chunk.
Dash-Core-Components
Added
- #692 Async DatePickerSingle, DatePickerRange, Dropdown, Markdown, Upload components
Dash v1.5.1
Dash v1.5.0
Dash and Dash-Renderer
Added
- #964 Adds support for preventing updates in clientside functions.
- Reject all updates with
throw window.dash_clientside.PreventUpdate;
- Reject a single output by returning
window.dash_clientside.no_update
- Reject all updates with
- #899 Add support for async dependencies and components
- #973 Adds support for resource caching and adds a fallback caching mechanism through etag
Dash-Core-Components
Added
- #616 Async Graph and Plotly.js
Dash-Table
Changed
- #554 Async loading of
xlsx
library on export
Dash v1.4.1
Dash and Dash-Renderer
Fixed
- #969 Fix warnings emitted by react devtools coming from our own devtools components.
Dash-Core-Components
Updated
Fixed
- #681 Fix a bug with the dcc.Graph component logging errors in certain circumstances when nested inside a dcc.Loading component
Dash-Table
Fixed
- #618 Fix a bug with keyboard navigation not working correctly in certain circumstances when the table contains
readonly
columns. - #206 Fix a bug with copy/paste to and from column filters not working.
- #561 Fix an incorrect React PureComponent usage causing warnings in DevTools.
- #611 Fix a bug with copy/paste causing hidden columns to be removed from the table
Dash v1.4.0
Dash and Dash-Renderer
Added
- #948 Support setting working directory for R apps run using the
dashr
fixture, primarily useful for tests with assets.dashr.start_server
supports acwd
argument to set an explicit working directory, and has smarter defaults when it's omitted: ifapp
is a path to an R script, uses the directory of that path; ifapp
is a string, uses the directory the test file itself is in. - #944
- Relevant
dash.testing
methods can now be called with either an element or a CSS selector:select_dcc_dropdown
,multiple_click
,clear_input
,zoom_in_graph_by_ratio
,click_at_coord_fractions
. - Three new
dash.testing
methods:clear_local_storage
,clear_session_storage
, andclear_storage
(to clear both together)
- Relevant
- #937
dash.testing
adds two APIszoom_in_graph_by_ratio
andclick_at_coord_fractions
about advanced interactions using mouseActionChain
- #938 Add debugging traces to dash backend about serving component suites, to verify the installed packages whenever in doubt.
Fixed
- #944 Fix a bug with persistence being toggled on/off on an existing component.
Dash-Table
Added
- New prop
export_columns
that takes valuesall
orvisible
(default). This prop controls the columns used during export
- Add
is blank
unary operator. Returns true forundefined
,null
and''
.
- New prop
page_count
that sets the maximum number of pages that are
accessible via the pagination menu when using backend pagination.
Changed
- Allow values with whitespaces in column filters
- Change pagination menu button UI to use arrow icons instead of plain
buttons - Move pagination menu to bottom-right of table
- Include go-to-first and go-to-last buttons
- Include current-page and total-pages display in pagination menu
- Include input box for user to navigate directly to a page
Fixed
- The
datestartswith
relational operator now supports number comparison - Fixed a bug where the implicit operator for columns was
equal
instead of the expected default for the column type
- Visible columns are used correctly for both header and data rows
- Fixed a bug where any string beginning with a relational operator was being interpreted as that operator being applied to the rest of the string (e.g., "lens" was interpreted as "<=ns")
- Fixed row and column selection when multiple tables are present
- Fixed reconciliation when validation default value is
0
(number) - Apply reconciliation value when deleting cells, if possible
Dash-Core-Components
Added
- Added
search_value
prop toDropdown
, for server-side options loading/filtering. #660
Updated
- Upgraded plotly.js to 1.50.0 #675
- Feature release 1.50.0 which contains:
- A new
treemap
trace type for display of hierarchical data. texttemplate
support for all traces with on-graph text, and custom date formatting for templated on-graph and hover text.- Transitions (animation) for
bar
charts. - Numerous other performance improvements, features, and bug fixes.
- A new
- Patch release 1.49.5 containing several bug fixes.
- Feature release 1.50.0 which contains:
Dash v1.3.1
Dash v1.3.0
dash
Added
- #923 Adds one configuration
--percy-assets
inpytest
to specify extra application assets path if needed - #918 Adds
wait_for_element_by_id
andvisit_and_snapshot
APIs in browser, addsraw_command
option (it also has higher priority than
the default waitress one) and optionalstart_timeout
argument to handle large application within process runner
dash-core-components
Added
- Added support for persistence of user-edited props to value-input components:
Checklist
,DatePickerRange
,DatePickerSingle
,Dropdown
,Input
,RadioItems
,RangeSlider
,Slider
,Tabs
, andTextarea
. New props arepersistence
,persistence_type
, andpersisted_props
. Setpersistence
to a truthy value to enable, the other two modify persistence behavior. See plotly/dash#903 for more details. #646
Fixed
- Fixed
Slider
andRangeSlider
components withtooltip.always_visible
#640 - Fixed an infinite loop problem when
Graph
is wrapped byLoading
component #608
dash-renderer
Added
- #903 enables props edited by the user to persist across recreating the component or reloading the page. Components need to define three new props:
persistence
,persisted_props
, andpersistence_type
as described in the lead comment ofsrc/persistence.js
. App developers then enable this behavior by, in the simplest case, settingpersistence: true
on the component. First use case is table, see dash-table#566
Fixed
- Reduced about 55% of the dash-renderer packages size on PyPI by removing the source maps. To do more advanced debugging, the source maps needs to be generated from source code with
npm run build:local
and pip install in editable mode, i.e.pip install -e .
#910
dash-table
Added
- Support persisting user edits when the component or the page is reloaded. New props are
persistence
,persistence_type
, andpersisted_props
. Setpersistence
to a truthy value to enable, the other two modify persistence behavior. See plotly/dash#903 for more details.
#319 - New 'loading_state' prop that contains information about which prop, if any, is being computed.
- Table no longer allows for editing while the
data
prop is loading.
Fixed
- Fix #576, editing column names or deleting columns while other columns are hidden causing the hidden columns to be lost.
- Fix an unreported bug that clicking "Cancel" at the column name edit prompt would clear the name, rather than leaving it unchanged as it should.
#569, #544 - Allow empty strings in all
filter_query
(e.g filter_query: '{colA} eq ""')
#567 - Add support for missing
border-radius
in style_** props - Fix table's inner vs. outer container styling
#18 - Fix row selection vertical and horizontal alignment
#103 - Simplify usage for multi-line cells and ellipsis. The cell's content now inherits the value of
white-space
,overflow
andtext-overflow
from its parent, making it possible to style
multi-line & ellipsis withstyle_data
and other style props.
#583 - Fix regression when editing the content of a cell in a scrolled virtualized table