Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-dash for openSUSE:Factory 
checked in at 2026-11-02 16:38:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-dash (Old)
 and      /work/SRC/openSUSE:Factory/.python-dash.new.1255 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-dash"

Mon Nov  2 16:38:53 2026 rev:24 rq:1394364 version:4.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-dash/python-dash.changes  2026-04-01 
19:53:05.375263773 +0200
+++ /work/SRC/openSUSE:Factory/.python-dash.new.1255/python-dash.changes        
2026-11-02 16:39:10.400249401 +0100
@@ -1,0 +2,174 @@
+Fri Aug 21 19:33:49 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.4.1:
+  * #3902 Fix background callbacks trusting the client-supplied
+    `job`/`oldJob`/`cancelJob` and `cacheKey` query parameters
+    verbatim, which let an unauthenticated client terminate an
+    arbitrary process (with `DiskcacheManager`, by sending its
+    PID) or read and delete arbitrary result-cache entries. The
+    `cacheKey`/`job` handles are now HMAC-signed by the server
+    and bound to a per-page-load token, so forged or replayed
+    values are rejected. Handles stay opaque to the renderer, so
+    no app or callback code changes are required.
+  * 3883 Fix callbacks being registered twice when running the
+    app file as a script with a server that loads it by import
+    string, e.g. `uvicorn.run("app:server", reload=True)` with
+    `backend="fastapi"`. The spawned worker re-executes the main
+    module as `__mp_main__` and the import string then executed
+    the same file a second time, duplicating every callback in
+    `_dash-dependencies` and triggering `Duplicate callback
+    outputs` errors in the renderer. `Dash()` now pre-registers
+    the running main module in `sys.modules` under its canonical
+    import name so the second import reuses it instead of re-
+    executing the file. Fixes #3818.
+  * 3885 Fix Flask-WTF `CSRFProtect` (and Quart-WTF) exemptions
+    breaking after the backend refactor. The callback dispatch
+    view is now exposed with the fully-qualified name
+    `dash.dash.dispatch` again, so
+    `csrf._exempt_views.add("dash.dash.dispatch")` works as it
+    did in Dash 4.1.0. Fixes #3827.
+  * #3882 Fix `dcc.Graph` user interactions (pan, zoom, edited
+    shapes & annotations, ...) being reverted by a subsequent
+    `Patch` update, by syncing all relayout changes back to the
+    `figure` prop instead of only shapes. Fixes #3810.
+  * #3903 Fix missing comm dependency, fix #3657.
+  * Updated radix-ui to fix #3786
+- update to 4.4.0:
+  * #3826 WebSocket callback dispatch no longer lets long-lived
+    callbacks limit the number of concurrent users. Async
+    callbacks (including session-persistent ones) run directly on
+    the connection event loop instead of occupying a worker
+    thread, and synchronous callbacks run on a shared
+    `ThreadPoolExecutor` whose size is configurable via the new
+    `websocket_max_workers` argument to `Dash` (default `4`). A
+    synchronous persistent (no-output) callback now warns at
+    registration since it would tie up a worker thread.
+  * ## Fixed
+  * #3861 Fix synchronous WebSocket callbacks not inheriting
+    `ContextVar` values bound by ASGI middleware.
+    `copy_context()` is now captured on the event-loop thread
+    before the callback is submitted to the thread pool, instead
+    of inside the worker thread where only default values were
+    visible.
+  * #3779 Fix `dash.testing` `Browser.get_logs()` returning
+    `None` on non-Chrome webdrivers, which broke assertions like
+    `assert dash_duo.get_logs() == []`. It now returns `[]`,
+    matching the Chrome code path.
+  * #3822 Fix `UnboundLocalError` for `user_callback_output` in
+    async background callbacks (Celery and Diskcache managers)
+    when the callback raises `PreventUpdate` or another exception
+    before the variable is assigned.
+  * #3819 Fix `RuntimeError: No active request in context` when a
+    non-Dash path falls through to the FastAPI catch-all route.
+    Fixes #3812.
+  * #3838 Replace `mcp` dependency with inline types.
+  * #3824 Fix `dash.testing` `ThreadedRunner.stop()` hanging at
+    teardown for Quart apps. Fixes #3823.
+  * #3425 dcc.DatePicker: Fix `updatemode="bothdates"` not always
+    respected
+  * ## Changed
+  * Drop support for Python 3.8 (end-of-life since October 2024).
+    The minimum supported version is now Python 3.9.
+- update to 4.3.0:
+  * ## Added
+  * #3796 MCP: Add `configure_mcp_server()` to toggle which
+    content the MCP server exposes (`include_layout`,
+    `include_callbacks`, `include_clientside_callbacks`,
+    `include_pages`, `expose_callback_docstrings`). Only the
+    parameters explicitly passed are updated; omitted parameters
+    retain their current value.
+  * #3710 MCP: Framework utilities, types for interacting with
+    layout
+  * #3711 MCP: `CallbackAdapter` for representing callback-
+    related data in MCP-friendly format
+  * #3712 MCP: `Resources` for exposing app layout, components,
+    and pages
+  * #3731 MCP: Expose callbacks as `Tools`
+  * #3747 MCP: Support pattern-matching callbacks in Tools
+  * #3748 MCP: Format callback results for LLM consumption
+    (rendered graphs, markdown tables)
+  * #3749 MCP: `get_dash_component` Tool and callback execution
+  * #3750 MCP: Server routes, `mcp_enabled` function decorator,
+    and Streamable HTTP transport
+  * #3766 MCP: Support background callbacks in Tools
+  * ## Changed
+  * #3796 MCP: Remove the `mcp_expose_docstrings` `Dash()`
+    constructor argument; callback docstring exposure is now
+    controlled via
+    `configure_mcp_server(expose_callback_docstrings=...)`.
+  * ## Fixed
+  * #3817 Fix background callback context serialisation for non-
+    dict request args on the FastAPI and Quart backends. Fixes
+    #3816.
+  * #3805 Fix FastAPI POST routes deadlock caused by middleware
+    consuming request body. Fixes #3801.
+  * #3813 Fix websockets using incorrect path when deployed
+    behind a proxy
+  * #3830 MCP: Respond to the Streamable HTTP `GET` (SSE) request
+    with an empty event stream instead of `405 Method Not
+    Allowed`
+- update to 4.2.0:
+  * Dash is no longer tied to Flask. You can now run your Dash
+    apps on **FastAPI** or **Quart**, or even bring your own
+    backend implementation:
+  * #3783 Add batching/debouncing for websocket `set_props`
+    messages to reduce lag when updating multiple components in a
+    loop. Configurable via `websocket_batch_delay` (default 5ms,
+    set to 0 to disable).
+  * #3669 Selection for DataTable cleared with custom action
+    settings.
+  * #3680 Added `search_order` prop to `Dropdown` to allow users
+    to preserve original option order during search.
+  * #3745 Added `csrf_token_name` and `csrf_header_name` config
+    options to allow configuring the CSRF cookie and header
+    names. Fixes #729.
+  * #3797 Improved websocket callback management with heartbeat
+    configuration and proper reconnection handling.
+  * #3523 Fall back to background callback function names if
+    source cannot be found.
+  * #3771 Add persistent callbacks and no inputs/no outputs
+    callback support.
+  * #3742 Add websocket callbacks to fastapi and quart backends.
+  * #3737 Add `displayNotifier` to `dcc.Graph` config props.
+  * ## Changed
+  * #3746 Improve static typing for `dash.callback` by preserving
+    wrapped callback signatures, and add callback typing coverage
+    in compliance plus new callback decorator unit and
+    integration tests. Fixes #3691.
+  * Rename `ctx.get_websocket` to `ctx.websocket`.
+  * Add threadpool for running websocket callbacks.
+  * ## Fixed
+  * #3690 Fix `dcc.Input` when min or max is set to None.
+  * #3723 Fix misaligned `dcc.Slider` marks when some labels are
+    empty strings.
+  * #3738 Add missing `stacklevel=2` to `warnings.warn()` calls
+    so warnings report the caller's location instead of internal
+    Dash source lines.
+  * #3740 Fix cannot tab into dropdowns in Safari.
+  * #3756 Allow `MATCH` in `Input`/`State` when the callback's
+    `Output` has no wildcards (fixed-id Output, no Output, or
+    `ALL`-only wildcard Output). `ALLSMALLER` still requires a
+    corresponding `MATCH` in an Output. Fixes #2462.
+  * #3768 Improved `Dropdown` search performance for large
+    options lists.
+  * #3759 Fix the issue where `Patch` objects cannot be updated
+    via `set_props()` in `websocket` callback. Fix #3742.
+  * #3789 Fixed extra wrapper in `DatePickerRange` and
+    `DatePickerSingle` causing styling and layout issues.
+  * #3799 Fixed dropdown crash when filtering large datasets with
+    component-based labels by using stable item keys for
+    virtualized rows.
+  * #3785 Fix patch with `dcc.Graph` figure. Fix `dcc.Graph` not
+    sending duplicate clicks because it had the same payload by
+    adding a timestamp in the click event object.
+  * #3798 Fix blueprint registering and double init when using
+    `flask run` command. Fixes #3787.
+  * #3734 Fix websocket used in the same FastAPI server. Fixes
+    #3636.
+  * #3668 Fix FastAPI url paths order. Fixes #3667.
+  * #3641 Fix `dcc.Loading` spinner not triggering when callback
+    `Output` uses the `ALL` wildcard. Fixes #3619.
+  * #3570 Fix components not remounting when passed from a parent
+    object. Fixes #3330.
+
+-------------------------------------------------------------------

Old:
----
  dash-4.1.0.tar.gz

New:
----
  dash-4.4.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-dash.spec ++++++
--- /var/tmp/diff_new_pack.Kep5EM/_old  2026-11-02 16:39:11.810308485 +0100
+++ /var/tmp/diff_new_pack.Kep5EM/_new  2026-11-02 16:39:11.814308653 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-dash
 #
-# Copyright (c) 2026 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,10 +18,10 @@
 
 # We can't test currenty, see below.
 %bcond_with test
-%define distver 4.1
+%define distver 4.4.1
 %{?sle15_python_module_pythons}
 Name:           python-dash
-Version:        4.1.0
+Version:        4.4.1
 Release:        0
 Summary:        Python framework for building reactive web-apps
 License:        MIT
@@ -32,39 +32,36 @@
 Source0:         
https://files.pythonhosted.org/packages/source/d/dash/dash-%{version}.tar.gz
 #Source1:         
https://github.com/plotly/dash/archive/refs/tags/v%{version}.tar.gz#/dash-%%{version}-gh.tar.gz
 Source99:       python-dash.rpmlintrc
-BuildRequires:  %{python_module base >= 3.8}
 BuildRequires:  %{python_module Flask >= 1.0.4}
-BuildRequires:  %{python_module percy}
-BuildRequires:  %{python_module plotly >= 5.0.0}
-BuildRequires:  %{python_module setuptools}
-BuildRequires:  %{python_module pip}
-BuildRequires:  %{python_module wheel}
+BuildRequires:  %{python_module Werkzeug}
+BuildRequires:  %{python_module base >= 3.8}
+BuildRequires:  %{python_module beautifulsoup4}
 BuildRequires:  %{python_module importlib-metadata}
-BuildRequires:  %{python_module typing-extensions >= 4.1.1}
+BuildRequires:  %{python_module nest-asyncio}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module plotly >= 5.0.0}
 BuildRequires:  %{python_module requests}
 BuildRequires:  %{python_module retrying}
-BuildRequires:  %{python_module nest-asyncio}
 BuildRequires:  %{python_module setuptools}
-BuildRequires:  %{python_module Werkzeug}
-BuildRequires:  %{python_module beautifulsoup4}
+BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module typing-extensions >= 4.1.1}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
-BuildRequires:  python-rpm-macros
 BuildRequires:  jupyter-rpm-macros
+BuildRequires:  python-rpm-macros
+Requires:       jupyter-dash = %{version}-%{release}
 Requires:       python-Flask >= 1.0.4
 Requires:       python-Werkzeug
 Requires:       python-importlib-metadata
-Requires:       python-typing-extensions >= 4.1.1
+Requires:       python-nest-asyncio
+Requires:       python-plotly >= 5.0.0
 Requires:       python-requests
 Requires:       python-retrying
-Requires:       python-nest-asyncio
 Requires:       python-setuptools
-Requires:       python-plotly >= 5.0.0
-Requires:       jupyter-dash = %{version}-%{release}
+Requires:       python-typing-extensions >= 4.1.1
 # SECTION testing extras
 # dash/testing/dash_page.py
 Requires:       python-beautifulsoup4
-# needed for dash/testing/browser.py
-Requires:       python-percy
 # /SECTION
 Requires(post): update-alternatives
 Requires(postun): update-alternatives
@@ -102,7 +99,6 @@
 This package provides the jupyter notebook and jupyterlab configuration
 for python-dash
 
-
 %prep
 %setup -q -n dash-%{version}
 # -b 1

++++++ dash-4.1.0.tar.gz -> dash-4.4.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-dash/dash-4.1.0.tar.gz 
/work/SRC/openSUSE:Factory/.python-dash.new.1255/dash-4.4.1.tar.gz differ: char 
5, line 1

Reply via email to