Dash

Latest version: v2.17.0

Safety actively analyzes 630406 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 23

2.9.1

Not secure
Fixed

- [2461](https://github.com/plotly/dash/pull/2461) Fix pytest plugin make report when testing not installed, fix [#2420](https://github.com/plotly/dash/issues/2420)

2.9.0

Not secure
Breaking
- [2450](https://github.com/plotly/dash/pull/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](https://github.com/plotly/dash/pull/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](https://github.com/plotly/dash/pull/2068) Added `refresh="callback-nav"` in `dcc.Location`. This allows for navigation without refreshing the page when url is updated in a callback.
- [2417](https://github.com/plotly/dash/pull/2417) Add wait_timeout property to customize the behavior of the default wait timeout used for by wait_for_page, fix [#1595](https://github.com/plotly/dash/issues/1595)
- [2417](https://github.com/plotly/dash/pull/2417) Add the element target text for wait_for_text* error message, fix [#945](https://github.com/plotly/dash/issues/945)
- [2425](https://github.com/plotly/dash/pull/2425) Add `add_log_handler=True` to Dash init, if you don't want a log stream handler at all.
- [2260](https://github.com/plotly/dash/pull/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](https://github.com/plotly/dash/pull/2414) Add `dash.Patch`for partial update Output props without transferring the previous value in a State.
- [2414](https://github.com/plotly/dash/pull/2414) Add `allow_duplicate` to `Output` arguments allowing duplicate callbacks to target the same prop.
- [2349](https://github.com/plotly/dash/pull/2349) Added new `dcc.Geolocation` component

Fixed

- [2429](https://github.com/plotly/dash/pull/2429) Fix side effect on updating possible array children triggering callbacks, fix [#2411](https://github.com/plotly/dash/issues/2411).
- [2417](https://github.com/plotly/dash/pull/2417) Disable the pytest plugin if `dash[testing]` not installed, fix [#946](https://github.com/plotly/dash/issues/946).
- [2417](https://github.com/plotly/dash/pull/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](https://github.com/plotly/dash/pull/2425) Fix multiple log handler added unconditionally to the logger, resulting in duplicate log message.
- [2415](https://github.com/plotly/dash/pull/2415) Fix background callbacks progress not deleted after fetch.
- [2426](https://github.com/plotly/dash/pull/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](https://github.com/plotly/dash/pull/2425) Moved the logger namespace to `dash.dash`, as library logger it should be on that namespace instead of the user app.

Updated

- [2241](https://github.com/plotly/dash/pull/2441) Update Plotly.js to v2.20.0 from v2.18.0.
- Feature release [2.20.0](https://github.com/plotly/plotly.js/releases/tag/v2.20.0) adds `automargin` to the main plot title.
- Feature release [2.19.0](https://github.com/plotly/plotly.js/releases/tag/v2.19.0) adds text labels to `layout.shapes`, and adds a `labelalias` property to replace specific axis tick labels.

2.8.1

Not secure
Fixed

- [2400](https://github.com/plotly/dash/pull/2400) Added `disable_n_clicks=True` to the `html.Div` components in `page_container`.

2.8.0

Not secure
- Add horizontal colorbars.
- Add text data on `heatmap` and related trace types.
- Control legend group title fonts.
- Patch releases [2.5.1](https://github.com/plotly/plotly.js/releases/tag/v2.5.1), [2.6.1](https://github.com/plotly/plotly.js/releases/tag/v2.6.1), [2.6.2](https://github.com/plotly/plotly.js/releases/tag/v2.6.2), [2.6.3](https://github.com/plotly/plotly.js/releases/tag/v2.6.3), [2.6.4](https://github.com/plotly/plotly.js/releases/tag/v2.6.4), [2.8.1](https://github.com/plotly/plotly.js/releases/tag/v2.8.1), [2.8.2](https://github.com/plotly/plotly.js/releases/tag/v2.8.2), and [2.8.3](https://github.com/plotly/plotly.js/releases/tag/v2.8.3) containing bugfixes.
- This PR also upgrades various other dependencies of dash renderer and component suites.

- [1745](https://github.com/plotly/dash/pull/1745):
Improve our `extras_require`: there are now five options here, each with a well-defined role:
- `dash[dev]`: for developing and building dash components.
- `dash[testing]`: for using the `pytest` plugins in the `dash.testing` module
- `dash[diskcache]`: required if you use `DiskcacheLongCallbackManager`
- `dash[celery]`: required if you use `CeleryLongCallbackManager`
- `dash[ci]`: mainly for internal use, these are additional requirements for the Dash CI tests, exposed for other component libraries to use a matching configuration.

Added
- [1883](https://github.com/plotly/dash/pull/1883) in DataTable added `page_current` to `persisted_props` as requested in [#1860](https://github.com/plotly/dash/issues/1860)



- [1763](https://github.com/plotly/dash/pull/1763):
Dash and Dash Renderer

- `Input`, `State`, and `Output` now accept components instead of ID strings and Dash `callback` will auto-generate the component's ID under-the-hood if not supplied. This allows usage like:

python
my_input = dcc.Input()
my_output = html.Div()
app.layout = html.Div([my_input, my_output])

dash.callback(Output(my_output, 'children'), Input(my_input, 'value'))
def update(value):
return f'You have entered {value}'


Or, if using Python >=3.8 you can use the `:=` walrus operator:
python
app.layout = html.Div([
my_input := dcc.Input(),
my_output := html.Div()
])

dash.callback(Output(my_output, 'children'), Input(my_input, 'value'))
def update(value):
return f'You have entered {value}'


[1894](https://github.com/plotly/dash/pull/1894) restricted this feature so auto-generated IDs are not allowed if the app uses `dash_snapshots` (a Dash Enterprise package) or if the component uses `persistence`, as this can create confusing errors. Callback definitions can still reference components in these cases, but those components must have explicit IDs.

Dash Core Components

Rearranged Keyword Arguments & Flexible Types
**`Dropdown`, `RadioItem`, and `Checklist`**
- Rearranged Keyword Arguments - `options` & `value` are now the first two keywords which means they can be supplied as positional arguments without the keyword. Supplying the keywords (`options=` and `value=`) is still supported.
- Flexible Types - `options` can be supplied in two new forms:
1. An array of `string|number|bool` where `label` and `value` are equal to the items in the list.
2. A dictionary where the keys and values set as `value` and `label` respectively.

Before:

python
dcc.Dropdown(
options=[
{'label': 'New York', 'value': 'New York'},
{'label': 'Montreal', 'value': 'Montreal'},
],
value='New York'
)


or

python
dcc.Dropdown(
options=[
{'label': 'New York', 'value': 'NYC'},
{'label': 'Montreal', 'value': 'MTL'},
],
value='New York'
)


After:

python
dcc.Dropdown(['New York', 'Montreal'], 'New York')


Or

python
dcc.Dropdown({'NYC': 'New York', 'MTL': 'Montreal'}, 'New York')


**`RangeSlider` & `Slider`**
- Rearranged Keyword Arugments - `min`, `max`, and `step` are now the first three keyword arguments which means they can be supplied as positional arguments without the keyword.
- Flexible Types
- `step` will be calculated implicitly if not given.
- `marks` will be auto generated if not given. It will use `min` and `max` and will respect `step` if supplied. Auto generated marks labels are SI unit formatted. Around 5 human-readable marks will be created.
- To remove the Slider's marks, set `marks=None`.

Before:

python
dcc.Slider(marks={1: 2, 2: 2, 3: 3})


After:

python
dcc.Slider(min=1, max=3, step=1)


Or equivalently:

python
dcc.Slider(1, 3, 1)


Step can also be omitted and the `Slider` will attempt to create a nice, human readable step with SI units and around 5 marks:

python
dcc.Slider(0, 100)


The SI units and ranges supported in `marks` are:
* `µ` - micro, 10⁻⁶
* `m` - milli, 10⁻³
* `​` (none) - 10⁰
* `k` - kilo, 10³
* `M` - mega, 10⁶
* `G` - giga, 10⁹
* `T` - tera, 10¹²
* `P` - peta, 10¹⁵
* `E` - exa, 10¹⁸

_Ranges below 10µ are not supported by the Slider. This is a bug: https://github.com/plotly/dash/issues/1766_

**`DataTable`**

- Rearranged Keyword Arguments - `data` and `columns` the first twokeyword arguments which means they can be supplied as positional arguments without the keyword.
- Inferred Properties - If `columns` isn't supplied then it is extracted from the the first row in `data`

Before:

python
dash_table.DataTable(data=df.to_dict('records'), columns=[{'name': i, 'id': i} for i in df.columns])


After:

python
dash_table.DataTable(data=df.to_dict('records'))


New Component Properties

**`Checklist` & `RadioItems`**

- A new property `inline` appends `display: inline-block` to `labelStyle`.

python
dcc.Checklist(inline=True)


Fixed
- [1879](https://github.com/plotly/dash/pull/1879) Delete redundancy in pattern-matching callback implementation, specifically when `ALL` and `MATCH` wildcards are used together. This patch was submitted by an anonymous Dash Enterprise customer. Many thanks!

- [1858](https://github.com/plotly/dash/pull/1858) Support `mini-css-extract-plugin` Webpack plugin with `plotly/webpack-dash-dynamic-import` node package - used by components to support dash async chunks. Updated dependencies of other `plotly` node packages.

- [1836](https://github.com/plotly/dash/pull/1836) Fix `__all__` in dcc and table for extras: dcc download helpers and table format helpers. This also restores this functionality to the obsolete top-level packages `dash_core_components` and `dash_table`.

- [1822](https://github.com/plotly/dash/pull/1822) Remove Radium from renderer dependencies, as part of investigating React 17 support.

- [1779](https://github.com/plotly/dash/pull/1779):
- Clean up our handling of serialization problems, including fixing `orjson` for Python 3.6
- Added the ability for `dash.testing` `percy_snapshot` methods to choose widths to generate.

- [1778](https://github.com/plotly/dash/pull/1778) DataTable: Fix React warnings stating
that each child in a list should have a unique "key" prop

- [1895](https://github.com/plotly/dash/pull/1895) Support debug=True if native namespace-packages are present

2.7.1

Not secure
Fixed

- [2344](https://github.com/plotly/dash/pull/2344) Fix [#1519](https://github.com/plotly/dash/issues/1519), a case where dependent callbacks can be called too many times and with inconsistent inputs
- [2332](https://github.com/plotly/dash/pull/2332) Add key to wrapped children props in list.
- [2336](https://github.com/plotly/dash/pull/2336) Fix inserted dynamic ids in component as props.

Updated

- [2361](https://github.com/plotly/dash/pull/2361) Dependencies upgrade.
- Update Plotly.js to v2.16.4 (from v2.16.1): fix several bugs, particularly related to updating mapbox graphs.

2.7.0

Not secure
- Add text data for `histogram` traces.
- Fix an interaction between `uirevision` and `autorange` that pops up in some cases of mixed clientside / serverside figure generation.

Page 5 of 23

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.