Skip to content

Releases: plotly/dash

Dash v1.8.0

14 Jan 18:37
Compare
Choose a tag to compare

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 setting requests_pathname_prefix prefixed. Use app.get_relative_path anywhere you would provide a relative pathname, like dcc.Link(href=app.relative_path('/page-2')) or even as an alternative to app.get_asset_url with e.g. html.Img(src=app.get_relative_path('/assets/logo.png')).
    • app.trim_relative_path a path with requests_pathname_prefix and leading & trailing
      slashes stripped from it. Use this function in callbacks that deal with dcc.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 nested dcc.Markdown (dccMarkdown) react components inside of dcc.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

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 the window.hljs variable. Similarly to how plotly.js is handled, it is overridden by a user-provided version if one exists.

Updated

Dash-Table

Added

  • #606 Add markdown support for table cells. Cells will be rendered as markdown if the column presentation is specified as markdown.
    • Add highlight.js for syntax highlighting. If window.hljs is specified, that will be used for highlighting instead.

Fixed

  • #670 Fix a bug where derived_filter_query_structure was not getting updated properly
  • #677 Fix a bug where the table fails to load when used inside an iframe with a sandbox attribute that only has allow-scripts
  • #665 Fix a bug in Firefox where the dropdown cells height is incorrect

Dash v1.7.0

27 Nov 20:57
Compare
Choose a tag to compare

Dash and Dash-Renderer

Added

  • #967 Add support for defining
    clientside JavaScript callbacks via inline strings.
  • #1020 Allow visit_and_snapshot API in dash.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. Use kill() instead of communicate() to avoid hanging.
  • #1027 Fix bug with renderer callback lock never resolving with non-rendered async component using the asyncDecorator

Dash-Core-Components

Updated

  • Upgraded plotly.js to 1.51.2 #708
    • Patch release 1.51.2 containing several bug fixes.

Changed

  • #695 Improvements to Slider and RangeSlider
    • Marks outside of the range specified by min and max 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.

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 to 400.

Dash v1.6.1

14 Nov 20:56
Compare
Choose a tag to compare

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 in dash.testing, so it's more robust handling react input.
    • make the percy_snapshot() API more robust, and the timeout of wait_for_callbacks (if set to True) will not fail the snapshot execution, but logged as potential error.

Dash-Core-Components

Fixed

  • #696 Fix IE11 compatibility issues and ES5 compatibility and validation

Changed

  • #687 Use start_date, min_date_allowed, end_date, or max_date_allowed for the initial visible month if the value of the parameter initial_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

04 Nov 21:15
Compare
Choose a tag to compare

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

30 Oct 01:35
Compare
Choose a tag to compare

Dash and Dash-Renderer

Fixed

  • #987 Fix cache string handling for component suites with nested folders in their packages.
  • #986 Fix a bug with evaluation of _force_eager_loading when application is loaded with gunicorn

Dash v1.5.0

29 Oct 17:12
Compare
Choose a tag to compare

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
  • #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

17 Oct 14:02
Compare
Choose a tag to compare

Dash and Dash-Renderer

Fixed

  • #969 Fix warnings emitted by react devtools coming from our own devtools components.

Dash-Core-Components

Updated

  • Upgraded plotly.js to 1.50.1 #681
    • Patch release 1.50.1 containing several bug fixes.

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

08 Oct 19:43
Compare
Choose a tag to compare

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 a cwd argument to set an explicit working directory, and has smarter defaults when it's omitted: if app is a path to an R script, uses the directory of that path; if app 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, and clear_storage (to clear both together)
  • #937 dash.testing adds two APIs zoom_in_graph_by_ratio and click_at_coord_fractions about advanced interactions using mouse ActionChain
  • #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

#546

  • New prop export_columns that takes values all or visible (default). This prop controls the columns used during export

#597

  • Add is blank unary operator. Returns true for undefined, null and ''.

#299

  • New prop page_count that sets the maximum number of pages that are
    accessible via the pagination menu when using backend pagination.

Changed

#598

  • Allow values with whitespaces in column filters

#580

  • 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

#460

  • 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

#546

  • Visible columns are used correctly for both header and data rows

#563

  • 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")

#591

  • Fixed row and column selection when multiple tables are present

#600

  • 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 to Dropdown, 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.
    • Patch release 1.49.5 containing several bug fixes.

Dash v1.3.1

19 Sep 14:17
Compare
Choose a tag to compare

##dash-core-components

Fixed

  • Fix regression in DatePickerRange, DatePickerSingle, Input
    #652

Dash v1.3.0

17 Sep 18:50
Compare
Choose a tag to compare

dash

Added

  • #923 Adds one configuration --percy-assets in pytest to specify extra application assets path if needed
  • #918 Adds wait_for_element_by_id and visit_and_snapshot APIs in browser, adds raw_command option (it also has higher priority than
    the default waitress one) and optional start_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, and Textarea. New props are persistence, persistence_type, and persisted_props. Set persistence to a truthy value to enable, the other two modify persistence behavior. See plotly/dash#903 for more details. #646

Fixed

  • Fixed Slider and RangeSlider components with tooltip.always_visible #640
  • Fixed an infinite loop problem when Graph is wrapped by Loading 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, and persistence_type as described in the lead comment of src/persistence.js. App developers then enable this behavior by, in the simplest case, setting persistence: 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

#566

  • Support persisting user edits when the component or the page is reloaded. New props are persistence, persistence_type, and persisted_props. Set persistence 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

#578

  • 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 and text-overflow from its parent, making it possible to style
    multi-line & ellipsis with style_data and other style props.
    #583
  • Fix regression when editing the content of a cell in a scrolled virtualized table