Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
5ff7386
Remove unnecessary python version checks.
brandonschabell Oct 3, 2026
c001bb1
fix(renderer): clear child paths when callback returns None
0d00ciallo0721 Oct 6, 2026
b2eb098
Bump the npm-dependencies group across 1 directory with 2 updates
dependabot[bot] Oct 15, 2026
a1ce682
Bump the npm-dependencies group across 1 directory with 3 updates
dependabot[bot] Oct 15, 2026
6e3e448
Bump the npm-dependencies group across 1 directory with 2 updates
dependabot[bot] Oct 15, 2026
d968256
Bump the npm-dependencies-security group across 2 directories with 4 …
dependabot[bot] Oct 19, 2026
3278828
Merge branch 'dev' into agent-tasks/4033
T4rk1n Oct 20, 2026
07a67d7
Bump numpy cap in CI requirements to 2.5.4
T4rk1n Oct 20, 2026
227d09b
Move plotly-cloud back to the optional cloud extra
T4rk1n Oct 20, 2026
970c4fd
Keep the #3947 CHANGELOG entry and note the move back to dash[cloud]
T4rk1n Oct 20, 2026
7ce93b6
Fix security findings reported against 4.5.0rc1
T4rk1n Oct 20, 2026
602187f
Add PR number to CHANGELOG
T4rk1n Oct 20, 2026
b099837
test(renderer): cover falsy callback children
0d00ciallo0721 Oct 21, 2026
fd0c8bf
Merge pull request #4072 from plotly/ci/bump-numpy
T4rk1n Oct 21, 2026
482bac0
Address review on #4075
T4rk1n Oct 21, 2026
ae02ca2
Type the MCP config dict so mypy accepts the cache_by entry
T4rk1n Oct 21, 2026
027796f
Merge branch 'dev' into deps/plotly-cloud-optional
T4rk1n Oct 21, 2026
e3a6c6b
Merge pull request #4073 from plotly/deps/plotly-cloud-optional
T4rk1n Oct 21, 2026
75f066a
Merge branch 'dev' into fix/security-4.5.0rc1-report
T4rk1n Oct 21, 2026
24ff68c
Make the MCP per-user cache limit configurable with cache_maxsize
T4rk1n Oct 21, 2026
e612f67
Merge remote-tracking branch 'origin/fix/security-4.5.0rc1-report' in…
T4rk1n Oct 21, 2026
911575a
Merge branch 'dev' into agent-tasks/4033
T4rk1n Oct 21, 2026
abe446a
Merge pull request #4075 from plotly/fix/security-4.5.0rc1-report
T4rk1n Oct 21, 2026
d0081c9
Merge branch 'dev' into agent-tasks/4033
T4rk1n Oct 21, 2026
2fb0951
Merge pull request #4052 from 0d00ciallo0721/agent-tasks/4033
T4rk1n Oct 21, 2026
1a60f80
Merge branch 'dev' into remove-old-python-version-checks
T4rk1n Oct 22, 2026
d82409d
Merge dependabot/npm_and_yarn/dash/dash-renderer/npm-dependencies-601…
T4rk1n Oct 22, 2026
e238175
Merge dependabot/npm_and_yarn/components/dash-core-components/npm-dep…
T4rk1n Oct 22, 2026
9e32b58
Merge dependabot/npm_and_yarn/components/dash-html-components/npm-dep…
T4rk1n Oct 22, 2026
988a757
Merge dependabot/npm_and_yarn/plotly/dash-jupyterlab/npm-dependencies…
T4rk1n Oct 22, 2026
843514e
Bump selenium to 4.50.0 and mimesis to 22.2.0
T4rk1n Oct 22, 2026
d6faff8
Merge pull request #4039 from brandonschabell/remove-old-python-versi…
T4rk1n Oct 22, 2026
e0b6be9
Merge branch 'dev' into deps/safe-bumps-2026-10
T4rk1n Oct 22, 2026
d38de2b
Merge pull request #4079 from plotly/deps/safe-bumps-2026-10
T4rk1n Oct 22, 2026
026514a
version 4.5.0rc2
T4rk1n Oct 23, 2026
5351c63
Bump npm package versions for 4.5.0rc2
T4rk1n Oct 23, 2026
759cff4
Add missing CHANGELOG entry for #4052
T4rk1n Oct 23, 2026
a553a10
Merge pull request #4083 from plotly/release/4.5.0rc2
T4rk1n Oct 23, 2026
4e93019
Merge remote-tracking branch 'origin/dev' into master-4.5.0rc2
T4rk1n Oct 23, 2026
06ca46d
Version 4.5.0rc2 build artifacts
T4rk1n Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .ai/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ The backend system uses an abstract interface:
- `FastAPIRequestAdapter` - Uses context variable for current request
- `FastAPIResponseAdapter` - Uses Starlette responses
- `DashMiddleware` - Consolidated ASGI middleware for request handling
- Runs `before_request` hooks on every HTTP route (user routes, assets, mounted apps) and the WebSocket handshake; a non-None hook result is sent as the response, like Flask. Only Dash's own routes get their JSON body pre-read, timing recorded and Dash's error handling. Quart registers the same hooks as `before_websocket` too.
- Runs with uvicorn, supports hot reload
- Built-in GZip compression

Expand Down Expand Up @@ -596,7 +597,7 @@ cache_manager = DiskcacheManager(
4. **Completion**: When job finishes, poll returns final result
5. **Cleanup**: Results cleared from cache (unless `cache_by` specified)

Cache key is SHA256 hash of: function source + arguments + triggered inputs + cache_by values.
Cache key is SHA256 hash of: callback key + function source + arguments + triggered inputs + cache_by values. Without `cache_by` a random nonce is added, so every run gets its own key: the job runs with the requester's context, so two users with equal inputs must never share a result. Diskcache writes those uncached entries with a one day expiry (`UNCACHED_RESULT_EXPIRE`) so results nobody polls for do not pile up; Celery's result backend already expires them.

### Key Files

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 7 additions & 12 deletions @plotly/dash-jupyterlab/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1209,9 +1209,9 @@ fast-deep-equal@^3.1.3:
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==

fast-uri@^3.0.1:
version "3.1.7"
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.7.tgz#743157d957f3cbb4c65310e033dc2ad4ad7dc60a"
integrity sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==
version "3.1.8"
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.8.tgz#f7db8d942e20eead3cfe93b0beeb4eb0169e938b"
integrity sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==

free-style@3.1.0:
version "3.1.0"
Expand Down Expand Up @@ -1312,9 +1312,9 @@ lib0@^0.2.85, lib0@^0.2.98:
isomorphic.js "^0.2.4"

lodash-es@^4.17.21:
version "4.17.23"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.23.tgz#58c4360fd1b5d33afc6c0bbd3d1149349b1138e0"
integrity sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==
version "4.18.1"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.18.1.tgz#b962eeb80d9d983a900bf342961fb7418ca10b1d"
integrity sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==

lodash.escape@^4.0.1:
version "4.0.1"
Expand Down Expand Up @@ -1350,16 +1350,11 @@ minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"

minimist@^1.2.6:
minimist@^1.2.6, minimist@~1.2.0:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==

minimist@~1.2.0:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==

mkdirp@^0.5.1:
version "0.5.6"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
Expand Down
Loading
Loading