dependabot[bot] opened a new pull request, #41813:
URL: https://github.com/apache/superset/pull/41813

   Bumps [redis](https://github.com/redis/redis-py) from 5.3.1 to 8.0.1.
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/redis/redis-py/releases";>redis's releases</a>.</em></p>
   <blockquote>
   <h2>8.0.1</h2>
   <h1>Changes</h1>
   <h2>🐛 Bug Fixes</h2>
   <ul>
   <li>Fix Unix socket maintenance notification handling and tests (<a 
href="https://redirect.github.com/redis/redis-py/issues/4097";>#4097</a>)</li>
   <li>Fix async cluster node connection release on write errors (<a 
href="https://redirect.github.com/redis/redis-py/issues/4111";>#4111</a>)</li>
   <li>Fixed async MultiDBClient with underlying RedisCluster (<a 
href="https://redirect.github.com/redis/redis-py/issues/4108";>#4108</a>)</li>
   <li>Fix hiredis readiness checks for high file descriptors (<a 
href="https://redirect.github.com/redis/redis-py/issues/4115";>#4115</a>)</li>
   <li>fix(search): parse RESP3 FT.SEARCH responses with bytes-typed keys (<a 
href="https://redirect.github.com/redis/redis-py/issues/4109";>#4109</a>)</li>
   <li>Fixing pubsub's listen method to be blocking. (<a 
href="https://redirect.github.com/redis/redis-py/issues/4119";>#4119</a>)</li>
   <li>fix(asyncio): release pooled connection when Pipeline.reset() is 
cancelled (<a 
href="https://redirect.github.com/redis/redis-py/issues/4123";>#4123</a>)</li>
   <li>Avoid per-check fd allocation in hiredis _socket_can_read() — use poll() 
instead of a per-call selector (<a 
href="https://redirect.github.com/redis/redis-py/issues/4118";>#4118</a>)</li>
   </ul>
   <h2>🧰 Maintenance</h2>
   <ul>
   <li>Updating PyJWT dependency. (<a 
href="https://redirect.github.com/redis/redis-py/issues/4100";>#4100</a>)</li>
   <li>Update CI badge in README.md (<a 
href="https://redirect.github.com/redis/redis-py/issues/4099";>#4099</a>)</li>
   <li>Add missing url query argument parser for ssl_min_version (<a 
href="https://redirect.github.com/redis/redis-py/issues/4047";>#4047</a>)</li>
   <li>ci: least-privilege permissions on spellcheck (read) and stale-issues 
(job-level write for actions/stale) (<a 
href="https://redirect.github.com/redis/redis-py/issues/4080";>#4080</a>)</li>
   <li>Bumping github-versions actions (<a 
href="https://redirect.github.com/redis/redis-py/issues/4102";>#4102</a>)</li>
   <li>Updating lib version + supported Redis versions in README.md + updating 
the Redis versions in CI test matrix (<a 
href="https://redirect.github.com/redis/redis-py/issues/4092";>#4092</a>)</li>
   </ul>
   <p>We'd like to thank all the contributors who worked on this release!
   <a href="https://github.com/violuke";><code>@​violuke</code></a> <a 
href="https://github.com/mokashang";><code>@​mokashang</code></a> <a 
href="https://github.com/arpitjain099";><code>@​arpitjain099</code></a> <a 
href="https://github.com/coredumperror";><code>@​coredumperror</code></a> <a 
href="https://github.com/elena-kolevska";><code>@​elena-kolevska</code></a> <a 
href="https://github.com/vladvildanov";><code>@​vladvildanov</code></a> <a 
href="https://github.com/petyaslavova";><code>@​petyaslavova</code></a></p>
   <h2>8.0.0</h2>
   <h1>Changes</h1>
   <h2>🚀 Highlights</h2>
   <h3>Async Cluster PubSub</h3>
   <p>This release introduces full <strong>asyncio Cluster PubSub 
support</strong>, bringing shard-channel capabilities (<code>SSUBSCRIBE</code>, 
<code>SUNSUBSCRIBE</code>, <code>SPUBLISH</code>) to the async 
<code>RedisCluster</code> client. The new <code>ClusterPubSub</code> class in 
<code>redis.asyncio.cluster</code> automatically routes shard-channel 
subscriptions to the correct cluster node based on key-slot hashing, manages 
per-node PubSub connections, and supports round-robin message retrieval across 
nodes. Users can create a cluster pubsub instance via 
<code>RedisCluster.pubsub()</code> and use <code>ssubscribe()</code>, 
<code>sunsubscribe()</code>, and <code>get_sharded_message()</code> just as 
they would with the sync cluster client.</p>
   <h3>Keyspace and subkey notifications</h3>
   <p>Redis Keyspace Notifications are now supported for standalone and cluster 
deployments in both sync and async modes. New classes — 
<code>KeyspaceNotifications</code>, <code>ClusterKeyspaceNotifications</code>, 
<code>AsyncKeyspaceNotifications</code>, and 
<code>AsyncClusterKeyspaceNotifications</code> — provide a high-level API for 
keyspace/keyevent subscriptions and subkey notification families: 
<code>subkeyspace</code>, <code>subkeyevent</code>, 
<code>subkeyspaceitem</code>, and <code>subkeyspaceevent</code>. Convenience 
methods like <code>subscribe_keyspace()</code>, 
<code>subscribe_keyevent()</code>, <code>subscribe_subkeyspace()</code>, 
<code>subscribe_subkeyevent()</code>, <code>subscribe_subkeyspaceitem()</code>, 
and <code>subscribe_subkeyspaceevent()</code> simplify common patterns, with 
channel classes for both key and subkey channels.</p>
   <p>In cluster mode, subscriptions are managed across primary nodes because 
each node emits notifications only for keys it owns, with built-in 
topology-change handling. Sync <code>run_in_thread()</code> and async 
<code>listen()</code> workflows are supported.</p>
   <h3>Redis Array commands(<a 
href="https://redis.io/docs/latest/develop/data-types/arrays/";>https://redis.io/docs/latest/develop/data-types/arrays/</a>)</h3>
   <p>redis-py now supports <a 
href="https://redis.io/docs/latest/develop/data-types/arrays/";>Redis 
Arrays</a>, a preview Redis data type for sparse, index-addressable sequences 
of strings. New <code>AR*</code> command helpers cover indexed reads/writes, 
range scans, deletion, cursor-based insertion, ring-buffer writes, metadata, 
text search, and aggregation, including <code>ARGET</code>, <code>ARSET</code>, 
<code>ARMGET</code>, <code>ARMSET</code>, <code>ARSCAN</code>, 
<code>ARGREP</code>, <code>ARRING</code>, and <code>AROP</code>.</p>
   <h3>Type Hints Improvements (breaking changes)</h3>
   <p>The <code>@overload</code> pattern has been applied systematically across 
<strong>core commands</strong> (<code>core.py</code>), <strong>VectorSet 
commands</strong>, and <strong>module commands</strong> (Search, JSON, 
TimeSeries, Bloom filters) to provide distinct return types for sync and async 
clients. Previously, methods returned a combined <code>ResponseT</code> (i.e., 
<code>Union[Awaitable[Any], Any]</code>), which caused static analysis tools 
like mypy and Pyright to flag false positives. Now, sync clients see concrete 
return types (e.g., <code>int</code>, <code>bool</code>, 
<code>list[str]</code>) while async clients see <code>Awaitable[...]</code> 
wrappers. This is a <strong>breaking change for type-checking 
only</strong>—runtime behavior is unchanged, but code relying on the old union 
return types in type annotations may need updates. Two new protocol types, 
<code>SyncClientProtocol</code> and <code>AsyncClientProtocol</code>, are used 
in overload signatures to enabl
 e this distinction.</p>
   <h3>RESP3 by default with opt-in unified responses</h3>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/redis/redis-py/commit/7c0fd118c48a7a863d0a0262d858d02c001c4b73";><code>7c0fd11</code></a>
 Updating lib version to 8.0.1</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/b7a4d7d137b680737664e131598c6dab796a5a10";><code>b7a4d7d</code></a>
 Avoid per-check fd allocation in hiredis <code>_socket_can_read()</code> — use 
<code>poll()</code> ...</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/eec778ef52fd0a2b40b86d881721b1c9226257d4";><code>eec778e</code></a>
 fix(asyncio): release pooled connection when Pipeline.reset() is cancelled 
(#...</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/08e01bbf9f2ce8c950f93db918f0883cb6218e5e";><code>08e01bb</code></a>
 Fixing pubsub's listen method to be blocking. (<a 
href="https://redirect.github.com/redis/redis-py/issues/4119";>#4119</a>)</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/3d5257a04bd54b994372ecd9ffddb7814f4a9755";><code>3d5257a</code></a>
 fix(search): parse RESP3 FT.SEARCH responses with bytes-typed keys (<a 
href="https://redirect.github.com/redis/redis-py/issues/4109";>#4109</a>)</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/cce28ffa69666439cd8dfeb4dbb9fd313dd8272b";><code>cce28ff</code></a>
 Fix hiredis readiness checks for high file descriptors (<a 
href="https://redirect.github.com/redis/redis-py/issues/4115";>#4115</a>)</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/e20691c83042a9049dea22b72b74595263e07145";><code>e20691c</code></a>
 Fixed async MultiDBClient with underlying RedisCluster (<a 
href="https://redirect.github.com/redis/redis-py/issues/4108";>#4108</a>)</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/ea37fccf9aff261cd78e072f26b729e797644440";><code>ea37fcc</code></a>
 Fix async cluster node connection release on write errors (<a 
href="https://redirect.github.com/redis/redis-py/issues/4111";>#4111</a>)</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/f4146fa8c763fb9cb31f4e2a52f76030e9bebd77";><code>f4146fa</code></a>
 Updating lib version + supported Redis versions in README.md + updating the 
R...</li>
   <li><a 
href="https://github.com/redis/redis-py/commit/d47674e48542fcac807a739f358b45e4a5e2f099";><code>d47674e</code></a>
 Bumping github-versions actions (<a 
href="https://redirect.github.com/redis/redis-py/issues/4102";>#4102</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/redis/redis-py/compare/v5.3.1...v8.0.1";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=redis&package-manager=pip&previous-version=5.3.1&new-version=8.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   <details>
   <summary>Dependabot commands and options</summary>
   <br />
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot show <dependency name> ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to