You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CHANGELOG.md
+16
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,22 @@
2
2
All notable changes to `dash` will be documented in this file.
3
3
This project adheres to [Semantic Versioning](http://semver.org/).
4
4
5
+
## [1.13.0] - 2020-06-17
6
+
### Added
7
+
-[#1289](https://github.com/plotly/dash/pull/1289) Supports `DASH_PROXY` env var to tell `app.run_server` to report the correct URL to view your app, when it's being proxied. Throws an error if the proxy is incompatible with the host and port you've given the server.
8
+
-[#1240](https://github.com/plotly/dash/pull/1240) Adds `callback_context` to clientside callbacks (e.g. `dash_clientside.callback_context.triggered`). Supports `triggered`, `inputs`, `inputs_list`, `states`, and `states_list`, all of which closely resemble their serverside cousins.
9
+
10
+
### Changed
11
+
-[#1237](https://github.com/plotly/dash/pull/1237) Closes [#920](https://github.com/plotly/dash/issues/920): Converts hot reload fetch failures into a server status indicator showing whether the latest fetch succeeded or failed. Callback fetch failures still appear as errors but have a clearer message.
12
+
-[#1254](https://github.com/plotly/dash/pull/1254) Modifies the callback chain implementation and improves performance for apps with a lot of components
13
+
14
+
### Fixed
15
+
-[#1255](https://github.com/plotly/dash/pull/1255) Hard hot reload targets only the current window, not the top - so if your app is in an iframe you will only reload the app
16
+
-[#1249](https://github.com/plotly/dash/pull/1249) Fixes [#919](https://github.com/plotly/dash/issues/919) so `dash.testing` is compatible with more `pytest` plugins, particularly `pytest-flake8` and `pytest-black`.
17
+
-[#1248](https://github.com/plotly/dash/pull/1248) Fixes [#1245](https://github.com/plotly/dash/issues/1245), so you can use prop persistence with components that have dict IDs, ie for pattern-matching callbacks.
18
+
-[#1185](https://github.com/plotly/dash/pull/1185) Sort asset directories, same as we sort files inside those directories. This way if you need your assets loaded in a certain order, you can add prefixes to subdirectory names and enforce that order.
19
+
-[#1288](https://github.com/plotly/dash/pull/1288) Closes [#1285](https://github.com/plotly/dash/issues/1285): Debug=True should work in the __main__ module.
20
+
5
21
## [1.12.0] - 2020-05-05
6
22
### Added
7
23
-[#1228](https://github.com/plotly/dash/pull/1228) Adds control over firing callbacks on page (or layout chunk) load. Individual callbacks can have their initial calls disabled in their definition `@app.callback(..., prevent_initial_call=True)` and similar for `app.clientside_callback`. The app-wide default can also be changed with `app=Dash(prevent_initial_callbacks=True)`, then individual callbacks may disable this behavior.
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+10-7
Original file line number
Diff line number
Diff line change
@@ -16,10 +16,13 @@ $ pip install -e .[testing,dev] # in some shells you need \ to escape []
16
16
$ cd dash-renderer
17
17
# build renderer bundles, this will build all bundles from source code
18
18
# the only true source of npm version is defined in package.json
19
+
$ npm install
19
20
$ npm run build # or `renderer build`
20
21
# install dash-renderer for development
21
22
$ pip install -e .
22
23
# build and install components used in tests
24
+
$ cd .. # should be back in dash/ root directory
25
+
$ npm install
23
26
$ npm run setup-tests
24
27
# you should see both dash and dash-renderer are pointed to local source repos
25
28
$ pip list | grep dash
@@ -48,9 +51,7 @@ When a change in renderer code doesn't reflect in your browser as expected, this
48
51
49
52
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.
50
53
51
-
From the #892, we started to adopt `python-future` instead of `six` as our tool to better achieve the goal where we can mainly write Python 3 code and make it back-compatible in Python 2.7 (last Python 2 version Dash supports before it gets deprecated).
52
-
53
-
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`.
54
55
55
56
## Git
56
57
@@ -98,13 +99,15 @@ Emojis make the commit messages :cherry_blossom:. If you have no idea about what
98
99
99
100
### Coding Style
100
101
101
-
We use both `flake8` and `pylint` for basic linting check, please refer to the relevant steps in `.circleci/config.yml`.
102
-
103
-
Note that we also start using [`black`](https://black.readthedocs.io/en/stable/) as formatter during the test code migration.
102
+
We use `flake8`, `pylint`, and [`black`](https://black.readthedocs.io/en/stable/) for linting. please refer to the relevant steps in `.circleci/config.yml`.
104
103
105
104
## Tests
106
105
107
-
We started migrating to [pytest](https://docs.pytest.org/en/latest/) from `unittest` as our test automation framework. You will see more testing enhancements in the near future.
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/).
107
+
108
+
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.
109
+
110
+
Most of the time, however, you will want to just run a few relevant tests and let CI run the whole suite. `pytest` lets you specify a directory or file to run tests from (eg `pytest tests/unit`) or a part of the test case name using `-k` - for example `pytest -k cbcx004` will run a single test, or `pytest -k cbcx` will run that whole file. See the [testing tutorial](https://dash.plotly.com/testing) to learn about the test case ID convention we use.
0 commit comments