Skip to content

Commit 899b20e

Browse files
authored
Merge branch 'dev' into update-title
2 parents 2f7cdc4 + 8708d90 commit 899b20e

Some content is hidden

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

58 files changed

+5358
-2357
lines changed

.circleci/config.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
name: 🐍 Python Unit Tests & ☕ JS Unit Tests
6060
command: |
6161
. venv/bin/activate
62-
npm run test.unit
62+
npm run citest.unit
6363
6464
lint-unit-36:
6565
<<: *lint-unit
@@ -72,7 +72,7 @@ jobs:
7272
lint-unit-27:
7373
<<: *lint-unit
7474
docker:
75-
- image: circleci/python:2.7-stretch-node-browsers
75+
- image: circleci/python:2.7.18-stretch-node-browsers
7676
environment:
7777
PYLINTRC: .pylintrc
7878
PYVERSION: python27
@@ -122,7 +122,7 @@ jobs:
122122
build-core-27:
123123
<<: *build-core
124124
docker:
125-
- image: circleci/python:2.7-stretch-node-browsers
125+
- image: circleci/python:2.7.18-stretch-node-browsers
126126
environment:
127127
PYVERSION: python27
128128

@@ -172,7 +172,7 @@ jobs:
172172
build-misc-27:
173173
<<: *build-misc
174174
docker:
175-
- image: circleci/python:2.7-stretch-node-browsers
175+
- image: circleci/python:2.7.18-stretch-node-browsers
176176
environment:
177177
PYVERSION: python27
178178

@@ -349,7 +349,7 @@ jobs:
349349
name: 🧪 Run Integration Tests
350350
command: |
351351
. venv/bin/activate
352-
npm run test.integration
352+
npm run citest.integration
353353
- store_artifacts:
354354
path: test-reports
355355
- store_test_results:
@@ -372,7 +372,7 @@ jobs:
372372
test-27:
373373
<<: *test
374374
docker:
375-
- image: circleci/python:2.7-stretch-node-browsers
375+
- image: circleci/python:2.7.18-stretch-node-browsers
376376
environment:
377377
PERCY_ENABLE: 0
378378
PYVERSION: python27

CHANGELOG.md

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

5-
## [UNRELEASED]
5+
## [1.13.4] - 2020-06-25
6+
### Fixed
7+
- [#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.
8+
9+
## [1.13.3] - 2020-06-19
10+
11+
## [1.13.2] - 2020-06-18
12+
### Fixed
13+
- [#1305](https://github.com/plotly/dash/issues/1305)
14+
- Fix regression that causes crash when `FLASK_ENV` is modified during app execution
15+
- Fix regression that caused tests using `_wait_for_callbacks` to fail
16+
17+
## [1.13.1] - 2020-06-17
18+
19+
## [1.13.0] - 2020-06-17
620
### Added
721
- [#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.
822
- [#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.
923

1024
### Changed
1125
- [#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.
26+
- [#1254](https://github.com/plotly/dash/pull/1254) Modifies the callback chain implementation and improves performance for apps with a lot of components
1227

1328
### Fixed
1429
- [#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

CONTRIBUTING.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,13 @@ $ pip install -e .[testing,dev] # in some shells you need \ to escape []
1616
$ cd dash-renderer
1717
# build renderer bundles, this will build all bundles from source code
1818
# the only true source of npm version is defined in package.json
19+
$ npm install
1920
$ npm run build # or `renderer build`
2021
# install dash-renderer for development
2122
$ pip install -e .
2223
# build and install components used in tests
24+
$ cd .. # should be back in dash/ root directory
25+
$ npm install
2326
$ npm run setup-tests
2427
# you should see both dash and dash-renderer are pointed to local source repos
2528
$ pip list | grep dash
@@ -48,9 +51,7 @@ When a change in renderer code doesn't reflect in your browser as expected, this
4851

4952
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.
5053

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`.
5455

5556
## Git
5657

@@ -98,13 +99,15 @@ Emojis make the commit messages :cherry_blossom:. If you have no idea about what
9899

99100
### Coding Style
100101

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`.
104103

105104
## Tests
106105

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.
108111

109112
### Unit Tests
110113

dash-renderer/@Types/modules.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
declare module 'cookie' {
2+
const value: {
3+
parse: (cookie: string) => {
4+
_csrf_token: string
5+
}
6+
};
7+
8+
export default value;
9+
}

dash-renderer/babel.config.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
module.exports = {
22
presets: [
3+
'@babel/preset-typescript',
34
'@babel/preset-env',
45
'@babel/preset-react'
56
],
7+
plugins: [
8+
'@babel/plugin-proposal-class-properties',
9+
],
610
env: {
711
test: {
812
plugins: [
13+
'@babel/plugin-proposal-class-properties',
914
'@babel/plugin-transform-modules-commonjs'
1015
]
1116
}

dash-renderer/jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ module.exports = {
8585
// notifyMode: "always",
8686

8787
// A preset that is used as a base for Jest's configuration
88-
// preset: null,
88+
preset: "ts-jest/presets/js-with-babel",
8989

9090
// Run tests from one or more projects
9191
// projects: null,

0 commit comments

Comments
 (0)