Skip to content

Commit b465f06

Browse files
authored
Merge pull request #3355 from plotly/master-3.1.1
Master 3.1.1
2 parents 6adc7e2 + a4e8acc commit b465f06

File tree

5 files changed

+18
-4
lines changed

5 files changed

+18
-4
lines changed

.github/workflows/testing.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ jobs:
3434
- 'dash/dash-renderer/**'
3535
- 'dash/_callback.py'
3636
- 'dash/_callback_context.py'
37+
- 'tests/background_callback/**'
38+
- 'tests/async_tests/**'
3739
- 'requirements/**'
3840
3941
build:
@@ -263,6 +265,10 @@ jobs:
263265
cd bgtests
264266
touch __init__.py
265267
pytest --headless --nopercyfinalize tests/background_callback -v -s
268+
269+
- name: Run Async Callback Tests
270+
run: |
271+
cd bgtests
266272
pytest --headless --nopercyfinalize tests/async_tests -v -s
267273
268274
table-unit:

CHANGELOG.md

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

5+
# [3.1.1] - 2025-06-29
6+
7+
## Fixed
8+
[#3351](https://github.com/plotly/dash/pull/3351) Fix multi-page app with `suppress_callback_exceptions=True`
59

610
## [3.1.0] - 2025-06-27
711

@@ -20,6 +24,7 @@ This project adheres to [Semantic Versioning](https://semver.org/).
2024
- [#3294](https://github.com/plotly/dash/pull/3294) Added the ability to pass `allow_optional` to Input and State to allow callbacks to work even if these components are not in the dash layout.
2125
- [#3077](https://github.com/plotly/dash/pull/3077) Add new parameter `assets_path_ignore` to `dash.Dash()`. Closes [#3076](https://github.com/plotly/dash/issues/3076)
2226
- [#3202](https://github.com/plotly/dash/pull/3202) expose the closeOnSelect option in dropdown component
27+
- [#3089](https://github.com/plotly/dash/pull/3089) adding support for async callbacks and page layouts, install with `pip install dash[async]`.
2328

2429
## Changed
2530

dash/dash.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2491,9 +2491,9 @@ def update(pathname_, search_, **states):
24912491
_validate.check_for_duplicate_pathnames(_pages.PAGE_REGISTRY)
24922492
_validate.validate_registry(_pages.PAGE_REGISTRY)
24932493

2494-
# Set validation_layout
2495-
if not self.config.suppress_callback_exceptions:
2496-
layout = self.layout
2494+
# Set validation_layout
2495+
if not self.config.suppress_callback_exceptions:
2496+
layout = self.layout
24972497
if not isinstance(layout, list):
24982498
layout = [
24992499
# pylint: disable=not-callable

dash/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "3.1.0"
1+
__version__ = "3.1.1"

tests/async_tests/test_async_callbacks.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import json
22
import time
33

4+
import flaky
5+
46
from multiprocessing import Lock, Value
57
import pytest
68

@@ -27,6 +29,7 @@
2729
from tests.utils import is_dash_async
2830

2931

32+
@flaky.flaky(max_runs=3)
3033
def test_async_cbsc001_simple_callback(dash_duo):
3134
if not is_dash_async():
3235
return

0 commit comments

Comments
 (0)