Skip to content

Commit a589eca

Browse files
author
Marc-André Rivet
committed
Merge remote-tracking branch 'origin/dev' + build artifacts
2 parents b7b3fa8 + 94144a5 commit a589eca

File tree

67 files changed

+3818
-1736
lines changed

Some content is hidden

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

67 files changed

+3818
-1736
lines changed

CHANGELOG.md

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# Change Log for Dash
22
All notable changes to `dash` will be documented in this file.
3-
This project adheres to [Semantic Versioning](http://semver.org/).
3+
This project adheres to [Semantic Versioning](https://semver.org/).
4+
5+
## [1.14.0] - 2020-07-27
6+
### Added
7+
- [#1343](https://github.com/plotly/dash/pull/1343) Add `title` parameter to set the
8+
document title. This is the recommended alternative to setting app.title or overriding
9+
the index HTML.
10+
- [#1315](https://github.com/plotly/dash/pull/1315) Add `update_title` parameter to set or disable the "Updating...." document title during updates. Closes [#856](https://github.com/plotly/dash/issues/856) and [#732](https://github.com/plotly/dash/issues/732)
11+
12+
## [1.13.4] - 2020-06-25
13+
### Fixed
14+
- [#1310](https://github.com/plotly/dash/pull/1310) Fix a regression since 1.13.0 preventing more than one loading state from being shown at a time.
415

516
## [1.13.3] - 2020-06-19
617

@@ -66,7 +77,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
6677

6778
## [1.9.1] - 2020-02-27
6879
### Added
69-
- [#1133](github.com/plotly/dash/pull/1133) Allow the `compress` config variable to be set with an environment variable with DASH_COMPRESS=FALSE
80+
- [#1133](https://github.com/plotly/dash/pull/1133) Allow the `compress` config variable to be set with an environment variable with DASH_COMPRESS=FALSE
7081

7182
## [1.9.0] - 2020-02-04
7283
### Fixed
@@ -112,7 +123,7 @@ These functions are particularly useful for apps deployed on Dash Enterprise whe
112123
### Added
113124
- [#967](https://github.com/plotly/dash/pull/967) Add support for defining
114125
clientside JavaScript callbacks via inline strings.
115-
- [#1020](https://github.com/plotly/dash/pull/1020) Allow `visit_and_snapshot` API in `dash.testing.browser` to stay on the page so you can run other checks.
126+
- [#1020](https://github.com/plotly/dash/pull/1020) Allow `visit_and_snapshot` API in `dash.testing.browser` to stay on the page so you can run other checks.
116127

117128
### Changed
118129
- [#1026](https://github.com/plotly/dash/pull/1026) Better error message when you forget to wrap multiple `children` in an array, and they get passed to other props.
@@ -238,7 +249,7 @@ clientside JavaScript callbacks via inline strings.
238249
- Change `hot_reload_interval` from msec to seconds, for consistency with `hot_reload_watch_interval`
239250
- When called from `enable_dev_tools`, `debug=True` by default. It's still `False` by default from `run_server`.
240251

241-
-[#744](https://github.com/plotly/dash/pull/744) Introducing Dash Testing (`dash.testing`) - read the full tutorial at http://dash.plotly.com/testing.
252+
-[#744](https://github.com/plotly/dash/pull/744) Introducing Dash Testing (`dash.testing`) - read the full tutorial at <https://dash.plotly.com/testing>.
242253

243254
- [#753](https://github.com/plotly/dash/pull/753) `Component` no longer inherits `MutableMapping`, so `values`, `keys`, and more are no longer methods. Fixes an issue reported in [dcc#440](https://github.com/plotly/dash-core-components/issues/440) where components with certain prop names defined but not provided would cause a failure to render. During component generation we now disallow all props with leading underscores or matching a few remaining reserved words: `UNDEFINED`, `REQUIRED`, `to_plotly_json`, `available_properties`, and `available_wildcard_properties`.
244255

@@ -292,7 +303,7 @@ clientside JavaScript callbacks via inline strings.
292303
## [0.39.0] - 2019-03-04
293304
### Added
294305
- [#436](https://github.com/plotly/dash/pull/436) Allow multiple outputs from a single callback.
295-
- [#367](https://github.com/plotly/dash/pull/367) Support custom javascript hooks to modify callback payloads and responses.
306+
- [#367](https://github.com/plotly/dash/pull/367) Support custom JavaScript hooks to modify callback payloads and responses.
296307
- [#623](https://github.com/plotly/dash/pull/623) Modify the flask response with custom cookies or headers, using `dash.callback_context.response`.
297308
- [renderer#93](https://github.com/plotly/dash-renderer/pull/93) Loading states API
298309

@@ -329,7 +340,7 @@ clientside JavaScript callbacks via inline strings.
329340
- Bump dash-core-components version from 0.43.0 to [0.43.1](https://github.com/plotly/dash-core-components/blob/master/CHANGELOG.md#0431---2019-02-11)
330341

331342
### Fixed
332-
- [#563](https://github.com/plotly/dash/pull/563) Fix collections.abc deprecation warning for python 3.8
343+
- [#563](https://github.com/plotly/dash/pull/563) Fix collections.abc deprecation warning for Python 3.8
333344

334345
## [0.36.0] - 2019-01-25
335346
### Removed
@@ -501,21 +512,19 @@ clientside JavaScript callbacks via inline strings.
501512
- `requests_pathname_prefix` must end with `routes_pathname_prefix`. If you supplied both `requests` and `routes` pathname before this update, make sure `requests_pathname_prefix` ends with the same value as `routes_pathname_prefix`.
502513
- `url_base_pathname` sets both `requests/routes` pathname, cannot supply it with either `requests` or `routes` pathname prefixes.
503514

504-
505515
## 0.24.2 - 2018-08-13
506516
### Fixed
507517
- [#320](https://github.com/plotly/dash/pull/320) Disallow duplicate component ids in the initial layout.
508518

509519
## 0.24.1 - 2018-08-10
510520
### Fixed
511521
- Fix bug [#321](https://github.com/plotly/dash/issues/321) where importing Dash components with no props would result in an error.
512-
- Fix a bug in 0.23.1 where importing components with arguments that are python keywords could cause an error. In particular, this fixes `dash-html-components` with Python 3.7.
522+
- Fix a bug in 0.23.1 where importing components with arguments that are Python keywords could cause an error. In particular, this fixes `dash-html-components` with Python 3.7.
513523

514524
## 0.24.0 - 2018-08-10
515525
### Added
516526
- [#319](https://github.com/plotly/dash/pull/309) Add a modified time query string to assets included in the index in order to bust the cache.
517527

518-
519528
## 0.23.1 - 2018-08-02
520529
### Added
521530
- [#316](https://github.com/plotly/dash/pull/316) Add `ie-compat` meta tag to the index by default.
@@ -566,7 +575,7 @@ app = dash.Dash(...)
566575

567576
## 0.20.0 - 2018-01-19
568577
### Added
569-
- [#190](https://github.com/plotly/dash/pull/190) `exceptions.PreventUpdate` can be raised inside a callback to prevent the callback from updating the app. See https://community.plotly.com/t/improving-handling-of-aborted-callbacks/7536/2.
578+
- [#190](https://github.com/plotly/dash/pull/190) `exceptions.PreventUpdate` can be raised inside a callback to prevent the callback from updating the app. See <https://community.plotly.com/t/improving-handling-of-aborted-callbacks/7536/2>.
570579

571580
### Removed
572581
- Removes logging from redux middleware from production build based on process.env.NODE_ENV.
@@ -578,8 +587,8 @@ app = dash.Dash(...)
578587

579588
## 0.19.0 - 2017-10-16
580589
### Changed
581-
- 🔒 Remove CSRF protection measures. CSRF-style attacks are not relevant to Dash apps. Dash's API uses `POST` requests with content type `application/json` which are not susceptible to unwanted requests from 3rd party sites. See [#141](https://github.com/plotly/dash/issues/141).
582-
- 🔒 `app.server.secret_key` is no longer required since CSRF protection was removed. Setting `app.server.secret_key` was difficult to document and a very common source of confusion, so it's great that users won't get bitten by this anymore :tada:
590+
- 🔒 Remove CSRF protection measures. CSRF-style attacks are not relevant to Dash apps. Dash's API uses `POST` requests with content type `application/json` which are not susceptible to unwanted requests from 3rd party sites. See [#141](https://github.com/plotly/dash/issues/141).
591+
- 🔒 `app.server.secret_key` is no longer required since CSRF protection was removed. Setting `app.server.secret_key` was difficult to document and a very common source of confusion, so it's great that users won't get bitten by this anymore :tada:
583592
- 🐞 [renderer#22](https://github.com/plotly/dash-renderer/pull/22), [renderer#28](https://github.com/plotly/dash-renderer/pull/28) Previously, old requests could override new requests if their response was longer than the new one. This caused subtle bugs when apps are deployed on multiple processes or threads with component callbacks that update at varying rates like urls. Originally reported in [#133](https://github.com/plotly/dash/issues/133). This fix should also improve performance when many updates happen at once as outdated requests will get dropped instead of updating the UI. Performance issue with the first PR reported in [renderer#27](https://github.com/plotly/dash-renderer/issues/27) and fixed in the second PR.
584593
- [renderer#21](https://github.com/plotly/dash-renderer/pull/21) Fix an issue where a callback would be fired excessively. Previously, the callback would be called as many times as it had inputs. Now, it is called less.
585594

@@ -590,9 +599,9 @@ app = dash.Dash(...)
590599

591600
### Fixed
592601
- Fix a bug from 0.18.2 that removed the ability for dash to serve the app on any route besides `/`.
593-
- Fix a bug from 0.18.0 with the new config variables when used in a multi-app setting, causing config to be shared across apps. Originally reported in https://community.plotly.com/t/flask-endpoint-error/5691/7
602+
- Fix a bug from 0.18.0 with the new config variables when used in a multi-app setting, causing config to be shared across apps. Originally reported in <https://community.plotly.com/t/flask-endpoint-error/5691/7>
594603
- Rename config setting `supress_callback_exceptions` to `suppress_callback_exceptions`. The original spelling is kept for backward compatibility.
595-
- 🐞 (renderer) Fix a bug where Dash would fire updates for each parent of a grandchild node that shared the same grandparent. Originally reported in https://community.plotly.com/t/specifying-dependency-tree-traversal/5080/5
604+
- 🐞 (renderer) Fix a bug where Dash would fire updates for each parent of a grandchild node that shared the same grandparent. Originally reported in <https://community.plotly.com/t/specifying-dependency-tree-traversal/5080/5>
596605
- 🐞 (renderer) Fix a bug where the document title that displays "Updating..." wouldn't change if the callback raised an Exception. Now it will be removed on any response, even a failure.
597606

598607
## 0.18.2 - 2017-09-07
@@ -605,22 +614,21 @@ app = dash.Dash(...)
605614

606615
## 0.18.0 - 2017-09-07
607616
### Changed
608-
- 🔒 Remove the `/static/` folder and endpoint that is implicitly initialized by flask. This is too implicit for my comfort level: I worry that users will not be aware that their files in their `static` folder are accessible
609-
- ⚡️ Remove all API calls to the Plotly API (https://api.plotly.com/), the authentication endpoints and decorators, and the associated `filename`, `sharing` and `app_url` arguments. This was never documented or officially supported. Authentication has been moved to the [`dash-auth` package](https://github.com/plotly/dash-auth).
617+
- 🔒 Remove the `/static/` folder and endpoint that is implicitly initialized by flask. This is too implicit for my comfort level: I worry that users will not be aware that their files in their `static` folder are accessible
618+
- ⚡️ Remove all API calls to the Plotly API (<https://api.plotly.com/>), the authentication endpoints and decorators, and the associated `filename`, `sharing` and `app_url` arguments. This was never documented or officially supported. Authentication has been moved to the [`dash-auth` package](https://github.com/plotly/dash-auth).
610619
- [#107](https://github.com/plotly/dash/pull/107) ✏️ Sort prop names in exception messages.
611620

612621
### Added
613622
- 🔧 Add two new `config` variables: `routes_pathname_prefix` and `requests_pathname_prefix` to provide more flexibility for API routing when Dash apps are run behind proxy servers. `routes_pathname_prefix` is a prefix applied to the backend routes and `requests_pathname_prefix` prefixed in requests made by Dash's front-end. `dash-renderer==0.8.0rc3` uses these endpoints.
614623
- [#112](https://github.com/plotly/dash/pull/112) 🔧 Add `id` to `KeyError` exceptions in components.
615624

616-
617625
### Fixed
618-
- ✏️ Fix a typo in an exception.
626+
- ✏️ Fix a typo in an exception.
619627
- 🔧 Replaced all illegal characters in environment variables.
620628

621629
### 🔧 Maintenance
622-
- 📝 Update README.md
623-
- Fix CircleCI tests. Note that the [`dash-renderer`](https://github.com/plotly/dash-renderer) contains the bulk of the integration tests.
630+
- 📝 Update README.md
631+
- ✅ Fix CircleCI tests. Note that the [`dash-renderer`](https://github.com/plotly/dash-renderer) contains the bulk of the integration tests.
624632
- 💄 Flake8 fixes and tests (fixes [#99](https://github.com/plotly/dash/issues/99))
625633
- ✨ Add this CHANGELOG.md.
626634

CODE_OF_CONDUCT.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai
4040

4141
## Attribution
4242

43-
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
43+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version]
4444

45-
[homepage]: http://contributor-covenant.org
46-
[version]: http://contributor-covenant.org/version/1/4/
45+
[homepage]: https://contributor-covenant.org
46+
[version]: https://contributor-covenant.org/version/1/4/

CONTRIBUTING.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ As of Dash 1.2, the renderer bundle and its peer dependencies can be packed and
4545
5. `renderer build` runs 1, 2, 3, 4 in sequence as a complete build process from scratch.
4646
6. `renderer build local` runs the same order as in 5 and also generates source maps for debugging purposes. You also need to install dash-renderer with editable mode: `pip install -e .`.
4747

48-
When a change in renderer code doesn't reflect in your browser as expected, this could be: confused bundle generation, caching issue in a browser, python package not in `editable` mode, etc. The new tool reduces the risk of bundle assets by adding the digest to help compare asset changes.
48+
When a change in renderer code doesn't reflect in your browser as expected, this could be: confused bundle generation, caching issue in a browser, Python package not in `editable` mode, etc. The new tool reduces the risk of bundle assets by adding the digest to help compare asset changes.
4949

5050
## Python 2 And 3 Compatibility
5151

5252
Writing Python 2/3 compatible code might be a challenging task for contributors used to working on one particular version, especially new learners who start directly with Python 3.
5353

54-
We use `python-future` as our tool to mainly write Python 3 code and make it back-compatible to Python 2.7 (the only Python 2 version Dash supports). Please refer to [this list of idioms](https://python-future.org/compatible_idioms.html "https://python-future.org/compatible_idioms.html") for more details on working with `python-future`.
54+
We use `python-future` as our tool to mainly write Python 3 code and make it back-compatible to Python 2.7 (the only Python 2 version Dash supports). Please refer to [this list of idioms](https://python-future.org/compatible_idioms.html "https://python-future.org/compatible_idioms.html") for more details on working with `python-future`.
5555

5656
## Git
5757

@@ -70,8 +70,8 @@ For pull request with notable file changes or a big feature development, we high
7070

7171
Git command veterans might argue that a simple terminal and a cherry switch keyboard is the most elegant solution. But in general, a desktop tool makes the task easier.
7272

73-
1. https://www.gitkraken.com/git-client
74-
2. https://desktop.github.com/
73+
1. <https://www.gitkraken.com/git-client>
74+
2. <https://desktop.github.com/>
7575

7676
### Emoji
7777

@@ -103,7 +103,7 @@ We use `flake8`, `pylint`, and [`black`](https://black.readthedocs.io/en/stable/
103103

104104
## Tests
105105

106-
Our tests use Google Chrome via Selenium. You will need to install [ChromeDriver](http://chromedriver.chromium.org/getting-started) matching the version of Chrome installed on your system. Here are some helpful tips for [Mac](https://www.kenst.com/2015/03/installing-chromedriver-on-mac-osx/) and [Windows](http://jonathansoma.com/lede/foundations-2018/classes/selenium/selenium-windows-install/).
106+
Our tests use Google Chrome via Selenium. You will need to install [ChromeDriver](https://chromedriver.chromium.org/getting-started) matching the version of Chrome installed on your system. Here are some helpful tips for [Mac](https://www.kenst.com/2015/03/installing-chromedriver-on-mac-osx/) and [Windows](http://jonathansoma.com/lede/foundations-2018/classes/selenium/selenium-windows-install/).
107107

108108
We use [pytest](https://docs.pytest.org/en/latest/) as our test automation framework, plus [jest](https://jestjs.io/) for a few renderer unit tests. You can `npm run test` to run them all, but this command simply runs `pytest` with no arguments, then `cd dash-renderer && npm run test` for the renderer unit tests.
109109

@@ -117,7 +117,7 @@ Note: *You might find out that we have more integration tests than unit tests in
117117

118118
### Integration Tests
119119

120-
We introduced the `dash.testing` feature in [Dash 1.0](https://community.plotly.com/t/announcing-dash-testing/24868). It makes writing a Dash integration test much easier. Please read the [tutorial](http://dash.plotly.com/testing) and add relevant integration tests with any new features or bug fixes.
120+
We introduced the `dash.testing` feature in [Dash 1.0](https://community.plotly.com/t/announcing-dash-testing/24868). It makes writing a Dash integration test much easier. Please read the [tutorial](https://dash.plotly.com/testing) and add relevant integration tests with any new features or bug fixes.
121121

122122
## Financial Contributions
123123

0 commit comments

Comments
 (0)