Skip to content

Commit 747f63e

Browse files
Merge branch 'dev' into store-props-from-callback
2 parents fe9a739 + 9bebdce commit 747f63e

File tree

122 files changed

+14631
-18723
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+14631
-18723
lines changed

.circleci/config.yml

Lines changed: 151 additions & 192 deletions
Large diffs are not rendered by default.

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# These owners will be the default owners for everything in
22
# the repo. Unless a later match takes precedence
3-
* @alexcjohnson @Marc-Andre-Rivet @rpkyle
3+
* @alexcjohnson

.husky/pre-commit

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
npm run lint
1+
npm run lint && \
2+
(cd components/dash-core-components && npm run lint) && \
3+
(cd components/dash-table && npm run lint)

CHANGELOG.md

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,63 @@
22
All notable changes to `dash` will be documented in this file.
33
This project adheres to [Semantic Versioning](https://semver.org/).
44

5-
## [Unreleased]
5+
## [2.3.1] - 2022-03-29
6+
7+
### Fixed
8+
9+
- [#1963](https://github.com/plotly/dash/pull/1963) Fix [#1780](https://github.com/plotly/dash/issues/1780) flask shutdown deprecation warning when running dashduo threaded tests.
10+
- [#1995](https://github.com/plotly/dash/pull/1995) Fix [#1992](https://github.com/plotly/dash/issues/1992) ImportError: cannot import name 'get_current_traceback' from 'werkzeug.debug.tbtools'.
11+
12+
## [2.3.0] - 2022-03-13
13+
14+
### Added
15+
- [#1949](https://github.com/plotly/dash/pull/1915) Add built-in MathJax support to both `dcc.Markdown` and `dcc.Graph`. A new boolean prop `mathjax` was added to these two components, defaulting to `False`. Set `mathjax=True` to enable math rendering. This work uses MathJax v3, although `dcc.Graph` and Plotly.js can also be used with MathJax v2.
16+
- 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.
17+
- 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.
18+
- For an intro to LaTeX math, see https://en.wikibooks.org/wiki/LaTeX/Mathematics.
19+
- Big thanks to [Equinor](https://www.equinor.com/) for sponsoring this development, including the related work in Plotly.js!
20+
21+
### Updated
22+
- [#1949](https://github.com/plotly/dash/pull/1915) Upgrade Plotly.js to v2.11.0 (from v2.9.0)
23+
- [Feature release 2.10.0](https://github.com/plotly/plotly.js/releases/tag/v2.10.0):
24+
- Support for MathJax v3
25+
- `fillpattern` for `scatter` traces with filled area
26+
- [Feature release 2.11.0](https://github.com/plotly/plotly.js/releases/tag/v2.11.0):
27+
- Every trace type can now be rendered in a stricter CSP environment, specifically avoiding `unsafe-eval`. Please note: the `regl`-based traces (`scattergl`, `scatterpolargl`, `parcoords`, and `splom`) are only strict in the `strict` bundle, which is NOT served by default in Dash. To use this bundle with Dash, you must either download it and put it in your `assets/` folder, or include it as an `external_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.
28+
- Patch release [2.10.1](https://github.com/plotly/plotly.js/releases/tag/v2.5.1) containing a bugfix for `mesh3d` traces.
29+
30+
31+
### Fixed
32+
- [#1915](https://github.com/plotly/dash/pull/1915) Fix bug [#1474](https://github.com/plotly/dash/issues/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.
33+
34+
- [#1953](https://github.com/plotly/dash/pull/1953) Fix bug [#1783](https://github.com/plotly/dash/issues/1783) in which a failed hot reloader blocks the UI with alerts.
35+
36+
- [#1942](https://github.com/plotly/dash/pull/1942) Fix bug [#1663](https://github.com/plotly/dash/issues/1663) preventing pie traces from sending `customdata` with `clickData` and other events.
37+
38+
## [2.2.0] - 2022-02-18
39+
40+
### Added
41+
- [#1923](https://github.com/plotly/dash/pull/1923):
42+
- `dash.get_relative_path`
43+
- `dash.strip_relative_path`
44+
- `dash.get_asset_url`
45+
This is similar to `dash.callback` where you don't need the `app` object. It makes it possible to use these
46+
functions in the `pages` folder of a multi-page app without running into the circular `app` imports issue.
47+
48+
### Updated
49+
- [#1911](https://github.com/plotly/dash/pull/1911) Upgrade Plotly.js to v2.9.0 (from v2.8.3).
50+
- Adds `ticklabelstep` to axes to reduce tick labels while still showing all ticks.
51+
- 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 into `dcc` or `ddk`.
52+
53+
- [#1930](https://github.com/plotly/dash/pull/1930) Upgrade JavaScript dependencies across renderer and all components.
54+
55+
### Fixed
56+
- [#1932](https://github.com/plotly/dash/pull/1932) Fixes several bugs:
57+
- Restores compatibility with IE11 [#1925](https://github.com/plotly/dash/issues/1925)
58+
- Restores `style_header` text alignment in Dash Table [#1914](https://github.com/plotly/dash/issues/1914)
59+
- Clears the unneeded `webdriver-manager` requirement from `dash[testing]` [#1919](https://github.com/plotly/dash/issues/1925)
60+
61+
## [2.1.0] - 2022-01-22
662

763
### Changed
864
- [#1876](https://github.com/plotly/dash/pull/1876) Delays finalizing `Dash.config` attributes not used in the constructor until `init_app()`.
@@ -61,6 +117,8 @@ This project adheres to [Semantic Versioning](https://semver.org/).
61117
return f'You have entered {value}'
62118
```
63119

120+
[#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.
121+
64122
## Dash Core Components
65123

66124
### Rearranged Keyword Arguments & Flexible Types
@@ -193,6 +251,8 @@ This project adheres to [Semantic Versioning](https://semver.org/).
193251
- [#1778](https://github.com/plotly/dash/pull/1778) DataTable: Fix React warnings stating
194252
that each child in a list should have a unique "key" prop
195253

254+
- [#1895](https://github.com/plotly/dash/pull/1895) Support debug=True if native namespace-packages are present
255+
196256
## [2.0.0] - 2021-08-03
197257

198258
## Dash and Dash Renderer

CONTRIBUTING.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,21 @@ $ python3 -m venv .venv/dev
1414
# on some linux / mac environments, use `.` instead of `source`
1515
$ source .venv/dev/bin/activate
1616
# install dash and dependencies
17-
$ pip install -e .[testing,dev] # in some shells you need \ to escape []
17+
$ pip install -e .[ci,dev,testing,celery,diskcache] # in some shells you need \ to escape []
1818
$ npm install
1919
# this script will build the dash-core-components, dash-html-components, dash-table,
2020
# and renderer bundles; this will build all bundles from source code in their
2121
# respective directories. The only true source of npm version is defined
2222
# in package.json for each package.
23+
#
2324
$ npm run build # runs `renderer build` and `npm build` in dcc, html, table
2425
# build and install components used in tests
26+
#
27+
# Alternatively one could run part of the build process e.g.
28+
$ dash-update-components "dash-core-components"
29+
# to only build dcc when developing dcc
30+
# But when you first clone check out a new branch, you must run the full build as above.
31+
#
2532
$ npm run setup-tests.py # or npm run setup-tests.R
2633
# you should see dash points to a local source repo
2734
$ pip list | grep dash

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Built on top of [Plotly.js](https://github.com/plotly/plotly.js), [React](https:
2323
|![Sample Dash App](https://user-images.githubusercontent.com/1280389/30086128-9bb4a28e-9267-11e7-8fe4-bbac7d53f2b0.gif) | Here’s a simple example of a Dash App that ties a Dropdown to a Plotly Graph. As the user selects a value in the Dropdown, the application code dynamically exports data from Google Finance into a Pandas DataFrame. This app was written in just **43** lines of code ([view the source](https://gist.github.com/chriddyp/3d2454905d8f01886d651f207e2419f0)). |
2424
|![Crossfiltering Dash App](https://user-images.githubusercontent.com/1280389/30086123-97c58bde-9267-11e7-98a0-7f626de5199a.gif)|Dash app code is declarative and reactive, which makes it easy to build complex apps that contain many interactive elements. Here’s an example with 5 inputs, 3 outputs, and cross filtering. This app was composed in just 160 lines of code, all of which were Python.|
2525
|![Dash App with Mapbox map showing walmart store openings](https://user-images.githubusercontent.com/1280389/30086299-768509d0-9268-11e7-8e6b-626ac9ca512c.gif)| Dash uses [Plotly.js](https://github.com/plotly/plotly.js) for charting. About 50 chart types are supported, including maps. |
26-
|![Financial report](https://github.com/plotly/dash-docs/blob/516f80c417051406210b94ea23a6d3b6cd84d146/assets/images/gallery/dash-financial-report.gif)| Dash isn't just for dashboards. You have full control over the look and feel of your applications. Here's a Dash App that's styled to look like a PDF report. |
26+
|![Financial report](https://user-images.githubusercontent.com/2678795/161153710-57952401-6e07-42d5-ba3e-bab6419998c7.gif)| Dash isn't just for dashboards. You have full control over the look and feel of your applications. Here's a Dash App that's styled to look like a PDF report. |
2727

2828
To learn more about Dash, read the [extensive announcement letter](https://medium.com/@plotlygraphs/introducing-dash-5ecf7191b503) or [jump in with the user guide](https://plotly.com/dash).
2929

@@ -53,4 +53,4 @@ Enterprise AI Features: Everything that your data science team needs to rapidly
5353

5454
See [https://plotly.com/contact-us/](https://plotly.com/contact-us/) to get in touch.
5555

56-
![image](https://images.prismic.io/plotly-marketing-website/493eec39-8467-4610-b9d0-d6ad3ea61423_Dash+Open+source%2BDash+enterprise2-01.jpg?auto=compress,format)
56+
![Dash Enterprise](https://user-images.githubusercontent.com/2678795/161155614-21c54a22-f821-4dda-b910-ee27e27fb5f2.png)

components/dash-core-components/.circleci/config.yml

Lines changed: 0 additions & 188 deletions
This file was deleted.

components/dash-core-components/.eslintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ lib/
44
lib/bundle.js*
55
coverage/
66
node_modules/
7+
packages/
78
.npm
89
vv/
910
venv/

components/dash-core-components/.github/CODEOWNERS

Lines changed: 0 additions & 3 deletions
This file was deleted.

components/dash-core-components/.github/FUNDING.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)